Pra*_*tik 38 git git-pull git-merge
我从我的分店拉出来:
git checkout mybranchSample
git fetch
git pull origin master
Run Code Online (Sandbox Code Playgroud)
然后,Git给了我以下消息:
请输入提交消息以解释为何需要此合并,
特别是如果它将更新的上游合并到主题分支中
输入提交消息后,它会合并master到我的文件中.即使我没有处理过某些文件master,它也会在我输入时以绿色显示文件列表git status.
这个问题不是我的同事发生的,而是我.这背后的原因是什么?
Mad*_*iha 40
git pull基本上是一次两个动作:git fetch后跟一个git merge(除非你使用git pull --rebase,在这种情况下你可以猜出会发生什么).
你看到这个的原因是因为Git无法像大多数时候那样进行快进合并.这样做的原因通常是因为你已经git commit在本地尝试了你想要提取的分支,现在你需要将远程更改与本地更改合并.
值得注意的是,Git为您预先填充了合并消息,因此您不需要输入任何内容.只需保存并退出,合并即可完成.(当然,除非存在合并冲突).
tne*_*tne 26
Linus Torvalds解释得最好:
传播关于即将到来的'git'UI变化的消息,因为我很大程度上应该受到指责.
这种变化有望使人们编写合并消息来解释他们的合并,甚至可能在没有必要时决定不合并.
我过去几周一直在使用那个git功能,它导致我从子维护者的合并中有各种注释(好吧,至少如果子主机给了我任何东西).所以我试图以身作则.
但如果你不喜欢解释你的合并,这可能会很烦人.当然,如果你不解释你的合并,你很烦人,所以它最终都是平衡的."Karmic balance",所以说.
资料来源:https://plus.google.com/+LinusTorvalds/posts/SrePhcj6XJe
如果您尝试合并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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28779 次 |
| 最近记录: |