我无法找到与我的问题类似的答案。
情况:
在本地使用 GIT(git 版本 1.7.3.1.msysgit.0)
远程存储库是 SVN(不确定版本)
问题:
克隆一个 SVN 存储库,添加一个文件夹,将其提交到 git 和 SVN,重命名文件夹(不告诉 git),提交到 git,不能再提交到 SVN。
问题步骤(SVN repo 中有一个文件 main.as 在根文件夹中)
- 从 SVN repo克隆分支(现在在本地有一个文件)
- 在本地提交到 git(包括
git add .
) - 创建包含文件的oldFolder
- 在本地提交到 git(包括
git add .
) - dcommit到 SVN
- 重命名oldFolder -> newFolder(使用 IDE 重命名或手动重命名 - 不
git-mv
) - 在本地提交到 git(包括
git-add .
) - dcommit到 SVN(不需要 SVN rebase,因为我是唯一一个对 SVN 进行更改的人)
问题: git-svn dcommit 响应:
oldFolder/file.txt: needs update
update-index --refresh: command returned error: 1
我尝试了什么:
- stash,commit,dcommit,stash apply (同样的事情:需要更新)
- stash,rebase,stash apply,commit,dcommit (同样的事情:需要更新)
- stash,rebase,stash apply,commit,stash,dcommit (同样的事情:需要更新)
半工作的是调用:
svn rm -r oldFolder
但这最终以 SVN 结束......而我想oldFolder
被重命名或删除(在这种情况下我不介意丢失历史记录)。newFolder
oldFolder
我需要 SVN 存储库来反映我本地的 git master/branch ...
为什么我在没有 git 命令的情况下重命名文件?
我使用大型文件结构和用于重构旧代码的 IDE 重命名导致上述情况的多个文件夹和文件。我无法跟踪并在删除的每个文件夹上调用 git rm。