当他们使用rebase进行拉动时,这偶尔会影响我们的一些开发人员。例如,在本地进行5次提交后,他们运行了一个:
git pull --rebase origin master
在推动前使其历史呈线性。大部分时间这种方法都可以正常工作,但是在“重新应用你的提交”阶段,在几次提交的过程中,rebase将会停止并出现错误:
The following untracked working tree files would be overwritten by merge
并列出已经应用的提交修改的文件。
我见过很多关于这个问题的报告,例如this question,但他们都在谈论OSX而我们在Windows上。不过我们尝试过设置:
git config --global core.trustctime false
但这没有帮助。我们确保防病毒不监控源控制目录,并且没有运行备份程序......在rebase操作期间不应该触摸这些文件。
有没有其他人遇到过这个问题并找到了原因?
答案 0 :(得分:0)
您能否确定是否没有未跟踪的文件。如果存在,您需要在执行git rebase之前先 git checkout 。
更好的做法是通过以下步骤。
假设您有一个新的git克隆存储库
创建并结帐到您自己的新本地分支。
git checkout -b <MyLocalBranch>
根据需要进行更改。然后
git add .
git commit -m <message>
git review/push
推送完更改后,请返回主人并执行git pull
git checkout master
git pull
回到你当地的分公司并重新加油。
git checkout <MyLocalBranach>
git rebase -i master
现在您对本地分支机构很满意,并准备在您的本地分支机构进行更改。此外,通过执行此操作,您可以拥有多个本地分支,而不会与主服务器产生冲突。