Вопрос: Теперь создается новая ветка на GitHub? Требуются ли git pu sh какие-либо дополнительные аргументы?
Когда вы sh ветвь, она попытается сделать sh изменения удаленного по умолчанию (в вашем случае GitHub), независимо от того, нужно добавить любые аргументы зависит. Вы можете явно указать pu sh указанной c ветке или pu sh новой ветке с указанным c именем. Когда вы опускаете все, git попросит вас установить «восходящий поток», имя ветки на пульте дистанционного управления:
>git checkout -B new
Switched to a new branch 'new'
>git push
fatal: The current branch new has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin new
Таким образом, вам нужно установить восходящий поток только один раз, и с этого момента вы можете использовать git push
без аргументов. Вместо этого вы также можете явно указать pu sh в ветке:
>git push origin new
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote:
remote: Create a pull request for 'new' on GitHub by visiting:
remote: https://github.com/jessehouwing/test/pull/new/new
remote:
To https://github.com/jessehouwing/test.git
* [new branch] new -> new
Но это не приведет к установке восходящей ветки и потребует от вас указывать, какая удаленная ветвь должна указывать на pu sh каждый раз, когда вы выполнить git push
. Следовательно, в большинстве случаев имеет смысл установить восходящий поток.
Вопрос: Могу ли я теперь объединить новую ветвь с основной веткой локально?
Я бы рекомендовал сначала получить изменения:
>git fetch origin master
From https://github.com/jessehouwing/test
* branch master -> FETCH_HEAD
Теперь А затем создайте новую ветку для следующего набора изменений
git checkout origin/master -B second-new-branch --no-track
Таким образом, у вас никогда не будет локальной копии master
, и вы всегда будете работать из ветки создан для вашей конкретной c цели. Это также поможет вам не вносить изменения в неправильную ветку. Я добавил --no-track
, поэтому ветка не будет связана с origin/master
при нажатии, что позволяет вам сделать новый запрос на перенос.
Таким образом, вы никогда не разрешите конфликты слияния в главном сервере локально и всегда сможете создавать новые ветки из последнего состояния удаленного репо.