我试图重命名一个目录,这个目录在六次提交之前被引入,并在所有后续提交中使用。这些提交尚未推送。
我尝试了什么?
- 我尝试使用带有
mv old new
命令的git filter-branch
,但这会在HEAD~6
之前的提交上失败,因为该目录不存在。 - 我尝试使用
git rebase -i HEAD~6
,编辑每个提交,但我无法使用mv old new
,因为git锁定了该文件,也不能在Windows Explorer中重命名它。 - 我尝试使用
cp -R old new; rm -rf old; git add new
进行相同的变基,但这会在HEAD~4
及以上产生合并冲突。
值得注意的是,引入该目录的提交是此分支中的第一次提交(该分支领先于master
六次提交),而且自从我分支出来以后就没有碰过master
。
我还阅读了this question。
什么是最好的方法来做这件事?
cherry-pick
,但它很有效。如果你把它作为答案发布,我会接受的。 - wchargin