Я разрабатываю программное обеспечение для школьной оценки и решил использовать Github для размещения проекта. После создания кода на моем компьютере с Ubuntu я отправил его на Github, а затем клонировал на свой MacBook Pro. После редактирования кода на MBP я вернул его на Github. На следующее утро я попытался обновить свое репо на коробке Ubuntu с помощью git pull, и это доставило мне множество проблем.
Как лучше всего работать в этой ситуации? Я не хочу форк моего собственного репо, и я действительно не хочу отправлять себе электронные письма или запросы на вытягивание. Почему я не могу просто относиться к Github как к мастеру и вставлять / извлекать из него все мои личные репозитории на разных компьютерах?
Можете ли вы уточнить, что вы подразумеваете под «всевозможными неприятностями»? Были ли у вас проблемы с объединением изменений?
Я создал репозиторий на своем компьютере с Ubuntu и отправил его на Github. Не думаю, что я клонировал его обратно на свой Ubuntu с Github. Это необходимо? И когда я говорю о всевозможных проблемах, я имею в виду, что я получил несколько сообщений об ошибках. В конце концов я использовал команду «commit -f», и она сработала. Сорта.
То, что вы хотите сделать, должно работать нормально, поэтому в деталях должно быть что-то незначительное. Если вы можете публиковать команды и сообщения об ошибках, мы, вероятно, сможем точно определить, что произошло. Ваше здоровье





Я предполагаю, что ваша проблема заключалась в том, что машина, на которой вы впервые создали репо, вылетела, когда вы попытались выполнить команду git pull.
Когда вы клонируете существующий репозиторий git (как вы это делали на своем втором компьютере, MacBook Pro), вы автоматически настраиваетесь, чтобы ваши команды git pull автоматически объединяли удаленный с вашими локальными изменениями.
Однако, когда вы изначально создаете репо, а затем делитесь им в удаленном репозитории, вам нужно ввести несколько команд, чтобы сделать все так же автоматизировано, как клонированное репо.
# GitHub gives you that instruction, you've already done that
# git remote add origin [email protected]: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 :-)
Это было именно то, что я искал. Я использую Ruby, но я также пытаюсь освоить Git, и я думаю, что делать это «трудным путем» сейчас, вероятно, лучше всего. :)
В этом и заключается суть git_remote_branch. Каждый раз, когда он запускает команду от вашего имени, он распечатывает команды, которые он запускает для вас, красным цветом. Кроме того, его можно использовать как шпаргалку с помощью команды объяснения: grb объяснять создание новой_бранки (вместо обычной команды grb create new_branch) :-)
«GRB: Это больше не просто гамма-всплеск».
Вы также можете добавить несколько открытых ключей SSH.
Вы клонировали репо из github в свой ящик Ubuntu, прежде чем пытаться извлечь из Github?