Как лучше всего работать с Github и несколькими компьютерами?

StackOverflow https://stackoverflow.com/questions/305805

  •  08-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

Я предполагаю, что ваша проблема заключалась в том, что компьютер, на котором вы впервые создали репозиторий, потерпел неудачу при попытке выполнить команду 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: -)

Другие советы

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top