我问这个问题,因为我有点困惑(只是略微)。
当我使用main {
max-height: 500px;
}
(在除了master之外的分支上)时,它为我提供了将分支的更改提交并推送到github的机会。
所以我这样做。
现在...
在之后,我运行了这个:
Pycharm
在current branch *test
1.git pull origin master
2.git checkout master
3.git merge test
它告诉我所有内容都是最新的。然后转到1.
它还告诉我所有最新的3.
。
问题:
修改
master
master branch
。出现一条消息。
git checkout test
switched to branch test. your branch is ahead of origin/test by 3 commits.
(use "git push" to publish your local commits)
会显示一条消息,其中有许多行显示正在更新的分支。
我重新运行命令git pull origin master
来自http://github.com/username/project
的消息我按绿色按钮提交更改并按下。弹出窗口显示git pull origin master
我运行命令nothing to commit
您的分支已与origin / master
保持同步我运行命令git checkout master
ALL UP-TO-DATE !!!
为什么git merge test
?
答案 0 :(得分:0)
on 1.它告诉我一切都是最新的。然后继续3.它还告诉我所有最新的主人。
$ git pull origin master
此命令相当于
$ git fetch origin master
$ git merge master
第一步从master
遥控器(这是您的GitHub存储库的昵称)中的origin
分支下载所有更改。第二个命令将master
(现在包括来自GitHub的任何更改)合并到当前分支(test
)中。由于您可能在master
上创建了分支并且未进行任何其他更改,因此您会收到所有内容都是最新的消息。
我不确定为什么第3步说所有内容都与主人保持同步。您可能执行了其他未在此处发布的命令,可以将相同的更改直接提交到master
或先前合并test
。
问题:
- 当我将分支推送到github时会发生什么?
醇>
当您将分支推送到GitHub时,您将在GitHub仓库中创建该分支以及它所代表的整个更改历史记录。任何其他分支都不会发生任何变化,包括master
。
我将该分支推送到主控后,是否必须运行上面的代码块?
“将分支推送到主人”没有任何意义,因为master
也是一个分支。您只能将分支推送到远程。或者您可以合并一个分支到另一个分支。
要使用本地更改更新GitHub仓库,您有两种选择:
手动将您的分支合并到master
,然后使用
master
推送到GitHub
$ git checkout master
$ git merge test
$ git push origin master
请注意,这仅执行原始命令中的步骤2和3。您原来的第1步将master
合并到test
。仅当master
发生更改并且您要检查合并冲突并解决它们(如果存在)时,才需要执行此操作。相反,您想要做相反的事情:将test
合并到master
。这就是我首先结帐master
然后合并test
。
将分支推送到GitHub并在GitHub仓库中创建一个Pull Request。然后,当您合并PR时,GitHub上的master
将会更新,您需要将更改恢复到本地仓库:
$ git checkout master
$ git pull origin master
P.S。如果愿意,您可以在PyCharm中执行所有这些命令的等效操作。
答案 1 :(得分:0)
是的。您必须手动合并分支。因为在当前状态下,您的仓库中有两个分支。因此,如果您要将新分支合并到master分支,则
git checkout master
git merge <your-new-branch>
git push -u origin master
这应该可以完成工作。