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

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

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

Вы клонировали репо из github в свой ящик Ubuntu, прежде чем пытаться извлечь из Github?

Grant Limberg 20.11.2008 19:04

Можете ли вы уточнить, что вы подразумеваете под «всевозможными неприятностями»? Были ли у вас проблемы с объединением изменений?

mipadi 20.11.2008 20:50

Я создал репозиторий на своем компьютере с Ubuntu и отправил его на Github. Не думаю, что я клонировал его обратно на свой Ubuntu с Github. Это необходимо? И когда я говорю о всевозможных проблемах, я имею в виду, что я получил несколько сообщений об ошибках. В конце концов я использовал команду «commit -f», и она сработала. Сорта.

Richard Hurt 20.11.2008 20:52

То, что вы хотите сделать, должно работать нормально, поэтому в деталях должно быть что-то незначительное. Если вы можете публиковать команды и сообщения об ошибках, мы, вероятно, сможем точно определить, что произошло. Ваше здоровье

Pat Notz 20.11.2008 21:05
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
12
4
6 691
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

Richard Hurt 21.11.2008 17:24

В этом и заключается суть git_remote_branch. Каждый раз, когда он запускает команду от вашего имени, он распечатывает команды, которые он запускает для вас, красным цветом. Кроме того, его можно использовать как шпаргалку с помощью команды объяснения: grb объяснять создание новой_бранки (вместо обычной команды grb create new_branch) :-)

webmat 21.11.2008 22:04

«GRB: Это больше не просто гамма-всплеск».

Aristotle Pagaltzis 23.11.2008 04:00

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