我在我的本地分支上有1次提交,然后将更改从远程分支转移到我的本地,我在我的本地分支上做了git pull
并且出乎我的意料git
说了这个。
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
我知道我在vi
编辑。
我的问题是为什么 git让我输入消息。我以前从未见过它。
我的git版本是:version 1.9.5-preview20141217
我提到this问题,但我仍然觉得很难理解。 感谢。
答案 0 :(得分:6)
将来自远程存储库的更改合并到当前分支中。在默认模式下,git pull是git fetch的简写,后跟git merge FETCH_HEAD
关于您的问题:为什么
git pull
的默认行为。在互联网上有很多关于这种行为的解释,this很好地解释了它。如何避免这种情况:
由于您的本地存储库提前1次提交,git会尝试将您的遥控器合并到您的本地存储库。这可以通过合并来处理,但在您的情况下,也许您正在寻找rebase,即将您的提交添加到顶部。您可以使用
执行此操作 git rebase
或git pull --rebase
如果这确实是您正在寻找的行为,您可以设置您的git配置,使rebase成为git pull
的默认选项
使用以下内容进行全局设置:
git config branch.autosetuprebase always # Force all new branches to automatically use rebase
或者你可以为每个分支设置它:
git config branch.*branch-name*.rebase true # Force existing branches to use rebase.