我们存储库的根文件夹中有一个空间。
我想提出一个拉取请求,用下划线替换此空格。
正如您所知,git不存储目录;只有文件名。因此,此更改将影响我们代码库中的每个源文件。
如何在给同事带来最少问题的同时做出这种改变?
我们所有的开发人员都从一个名为dev
的分支中分支出来,我的更改也需要发生在dev
的一个子分支上。
以下是我想要的目标和目前的限制。
目标:
-
对其他开发人员的阻碍最小。(我们有数百个活跃的分支,其中一些是拉请求)。
-
保存历史(理想情况下,我希望此更改显示为重命名或移动单个文件的历史)。
-
最小合并冲突(如果可能)
-
避免无意的副作用(可能有一些细节我不知道。我应该注意,我们有windows和linux的开发人员,尽管这不是区分大小写的文件更改。)
限制:
- 我没有直接更改
dev
或master
分支的权限 - 无法执行任何强制推送(因此我将无法重写历史)
您可以使用git mv
命令重命名目录。这将按预期工作,并保留历史记录等。即使在合并重命名之前,此目录层次结构下的文件发生了其他更改,也不会造成任何问题。
首先,重命名目录:
git mv olddir newdir
然后使用git commit
提交更改。