我现在正在学习git。我在linux中创建了一个git repo使用这个命令:
git clone --bare dev dev.git
和
cp -r dev.git /git/dev.git
现在我使用另一台计算机克隆它
git clone ssh://xxx@xxx.com/git/dev.git
并推送一些提交。
我需要在我的linux服务器上工作的目录,所以我删除了第一个开发目录,并克隆了一个新的:
rm dev -rf
git clone /git/dev.git
但是当我使用git pull时,我得到了这个:
# Merge branch 'master' of /git/dev
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
这是什么意思?
答案 0 :(得分:1)
如果git pull
提示您输入合并提交消息,则意味着您所在的本地分支和上游分支已经分歧(意味着每个分支都有一个或多个提交,而另一个分支没有)。 / p>
在这种情况下,git pull
默认会尝试合并更改。在您的情况下,git已经执行了合并,并要求您提供合适的提交消息。
有关详细信息,我建议您阅读一些git简介。一本好读的文章是#34; Pro Git",即available online。 Chapter 2.5解释了git pull
期间发生的事情。
答案 1 :(得分:1)
尝试
git pull --rebase
,或者使用
将其配置为默认值git config pull.rebase true
或者,(我的偏好)在两个步骤中完成,这样你就可以看到会发生什么。
git fetch origin
git log ...
git rebase orign/my_branch
免责声明:Rebase会重写历史记录,但是如果您没有推送任何将被重写的提交,或者没有其他人在您正在推动的分支上工作,则没有真正的问题。