Мне разместили частный проект на GitHub. У меня есть производственное ответвление того проекта. Я получил новую машину, и я должен закрепить что-то на производстве. Это - то, что я сделал.
git clone git@github.com:userid/project.git
# now I have master branch
git co -b production
git pull origin production
Используя вышеупомянутый механизм я могу получить производственное ответвление, но я получаю конфликты слияния, с которыми я не хочу иметь дело прямо сейчас.
Существует ли более чистый способ выступа, получая производственный код ответвления моей локальной машины?
Вы можете оформить заказ непосредственно в удаленной ветви после ее получения
git fetch origin
git branch -f remote_branch_name origin/remote_branch_name
git checkout remote_branch name
или короче:
git checkout -b production origin/production
Вы будете работать напрямую из полученной копии исходной / производственной ветки (без конфликта).
Выполняя
git co -b production
git pull origin production
, вы пытаетесь объединить удаленную производственную ветвь со своей главной (в локальной «производственной» ветке, что означает потенциально конфликты, если у вашего мастера локально история, отличная от истории удаленного источника / производственное отделение.
git checkout -b production
сам по себе проверяет новую ветку под названием production
на основе ветки, которую вы в данный момент проверяли, master.
Это скорее всего, вы действительно хотели сделать следующее:
git checkout -b production origin/production