Как лучше всего работать с Github и несколькими компьютерами? - PullRequest
12 голосов
/ 20 ноября 2008

Я занимаюсь разработкой программного обеспечения для школьной аттестации и решил использовать Github для размещения проекта. После создания некоторого кода на моем Ubuntu я перенес его на Github, а затем клонировал на свой MacBook Pro. После редактирования кода на MBP я вернул его обратно в Github. На следующее утро я попытался обновить репо на коробке с Ubuntu git pull, и это доставило мне много неприятностей.

Как лучше всего работать в этой ситуации? Я не хочу раскошелиться на собственное репо и не хочу отправлять себе электронные письма или получать запросы. Почему я не могу просто относиться к Github как к мастеру и извлекать из него все свои личные репозитории на разных компьютерах?

Ответы [ 2 ]

9 голосов
/ 21 ноября 2008

Я предполагаю, что ваша проблема заключалась в том, что машина, на которой вы впервые создали репо, зависла при попытке выполнить команду git pull.

Когда вы клонируете существующий репозиторий git (как вы делали на своем втором компьютере, MacBook Pro), вы автоматически настраиваетесь так, что ваши команды git pull автоматически объединят пульт с вашими локальными изменениями.

Однако, когда вы изначально создаете репо, а затем делитесь им с удаленным репозиторием, вам нужно выполнить несколько команд, чтобы сделать их такими же автоматизированными, как на клонированном репо.

# GitHub gives you that instruction, you've already done that
# git remote add origin git@github.com:user_name/repo_name.git

# GitHub doesn't specify the following instructions
git config branch.master.remote origin
git config branch.master.merge refs/heads/master

Эти последние несколько инструкций настраивают git, чтобы в будущем git pull из этого репо автоматически объединяли все удаленные изменения.

Следующее - это бесстыдная самореклама. Если вы используете Ruby, я создал инструмент на основе Ruby, который позволяет вам справляться со всеми этими видами вещей с помощью удаленных веток git. Инструмент называется, что неудивительно, git_remote_branch : -)

Если вы не используете Ruby, мой инструмент, вероятно, будет слишком сложным для установки. Что вы можете сделать, так это взглянуть на старый пост в моем блоге , где было подробно показано, что большинство вещей, которые может сделать для вас grb. Извлеките ваш файл git notes: -)

5 голосов
/ 21 ноября 2008
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...