我从中提取我的分支
git checkout mybranchSample
git fetch
git pull origin master
然后,Git给了我以下消息:
请输入提交消息以解释为什么需要此合并,
特别是当它将更新的上游合并到主题分支中时
在输入提交消息后,它会将master
合并到我的文件中。尽管我还没有处理过master
中的一些文件,但当我输入git status
时,它会以绿色显示文件列表。
这个问题不是发生在我的同事身上,而是我自己。这背后的原因是什么?
发布于 2015-12-30 17:14:43
git pull
基本上是一次两个动作:git fetch
后跟一个git merge
(除非您使用git pull --rebase
,在这种情况下您可以猜到会发生什么)。
之所以会出现这种情况,是因为Git不能像大多数时候那样进行快进合并。这样做的原因通常是因为您已经在本地git commit
ted到您试图拉入的分支,现在您需要将远程更改与本地更改合并。
同样值得注意的是,Git已经为您预先填充了合并消息,因此您实际上不需要键入任何内容。只需保存并退出,合并就应该完成。(当然,除非存在合并冲突)。
发布于 2016-01-07 20:24:58
Linus Torvalds对此解释得最好:
散布关于即将到来的'git‘UI改变的消息,因为我在很大程度上是罪魁祸首。
这一变化有望让人们编写合并消息来解释他们的合并,甚至可能在不必要的时候决定根本不合并。
在过去的几周里,我一直在使用这个git特性,它导致了我从submainter中合并了不同的注释(好吧,至少如果submainter给了我一些)。所以我试着以身作则。
但是如果你不喜欢解释你的合并,这可能会很烦人。当然,如果你不解释你的合并,你是令人讨厌的,所以最终一切都是平衡的。“业力平衡”,可以这么说。
发布于 2016-01-03 23:38:46
如果您正在尝试将master
合并到mybranchSample
分支,那么这是非常正常的。
Git将master
合并到mybranchSample
(当您从git pull origin master
分支执行mybranchSample
时),并为您commits
合并更改(除非有任何冲突),并向您提供预先填充的消息。您可以只保存并退出。
但如果你只是想从远程master
分支获得最新的代码,以便与本地master
分支合并,那么你应该签出到master
,然后从master
中拉出。
来自你的声明
它将主文件合并到我的文件中。尽管我还没有处理过master中的一些文件,但当我输入git status时,它会以绿色显示文件列表。
我认为你正在尝试做第二个。
所以,试一试:
git checkout master
git pull origin master
https://stackoverflow.com/questions/34526346
复制相似问题