我的团队最近在GIT遇到了很多麻烦,因为中止拉动命令。
如果用户没有对索引进行本地修改并进行了拉动,我看到git尝试开始将合并应用到master并中止。然后整个结账处于一个几乎无法恢复的可怕状态。在过去,我认为GIT会在尝试合并之前运行某种检查来识别这些问题。
即使有一个干净的状态(没有提交),我已经看到同样的事情至少随机发生一次。我知道如果没有变基,你可能会被迫在你拉动时解决合并冲突,但这不是发生的事情。
我们正在使用gitolite。我主要使用命令行,还没有遇到这些问题。团队的其他成员正在使用git-gui或1个案例TortoiseGit。
git-gui版本0.13.GITGUI我们没有尽可能多地与分支机构合作,但觉得这应该有效
为什么GIT允许你在它将要进行训练失败时试图拉动?
为什么GIT不会彻底中止?
答案 0 :(得分:1)
“git pull”与“git fetch + git merge”相同。所以,当git中止时,它就是合并。
当git尝试合并分支时,它会“尽可能”地执行。可以合并的文件被合并,并且无法自动合并的文件将保持“已修改”状态。开发人员必须手动检查文件以完成合并。
如果您在不完整的“git pull”(或“git merge”)之后更喜欢干净状态,您可以使用以下命令轻松返回到合并前的最后一个修订版:
git reset --hard my_local_branch
在你的情况下,我认为“my_local_branch”是“主人”。