所以我将repo中的所有文件名从大写改为小写。如果我尝试以标准方式执行此操作,我将收到以下错误。
$ git mv Actuals.py actuals.py
fatal: destination exists, source=Actuals.py, destination=actuals.py
所以我使用了force
选项
$ git mv -f Actuals.py actuals.py
warning: destination exists; will overwrite!
虽然有效,但现在当我尝试检查另一个分支时,我遇到了麻烦。
$ git checkout integration
error: Untracked working tree file 'Actuals.py' would be overwritten by merge.
所以我也强迫它:
$ git checkout -f integration
Switched to branch 'integration'
但现在我真的遇到了麻烦,因为当我尝试将之前的分支合并到这个分支中时,我再次被阻止:
$ git merge develop
Updating 6256d82..a5b3ea1
error: Untracked working tree file 'actuals.py' would be overwritten by merge. Aborting
如果没有创建这些文件的本地副本,并且在我要合并的每个分支上删除和添加每个文件,我该怎么做?
答案 0 :(得分:0)
这是一个解决方法(虽然我不认为它需要涉及到这一点)。我将原始分支中每个文件的名称更改为修改后的名称并提交更改:
$ git mv actuals.py _actuals.py
对于每个文件,然后我签出另一个分支并将其合并。所有文件现在都有新名称。然后我检查原始分支并将所有内容重命名为预期名称:
$ git mv _actuals.py actuals.py
提交所有内容,签出第二个分支并重新合并。现在所有文件都是正确的。这种方法允许输错,除非你建立一个脚本,所以我不是一个粉丝,但它让我合并我的分支。