Git 如何在不妨碍团队的情况下重命名根项目文件夹?
存储库的根文件夹中有一个空间。Git 如何在不妨碍团队的情况下重命名根项目文件夹?,git,git-branch,git-merge,git-commit,pull-request,Git,Git Branch,Git Merge,Git Commit,Pull Request,存储库的根文件夹中有一个空间。 我想发出一个拉取请求,用下划线替换这个空格 正如您所知,git不存储目录;只有文件名。因此,此更改将影响代码库中的每个源文件 我如何在给同事带来最少问题的同时做出这种改变 我们所有的开发人员都从一个名为dev的分支分支分支出来,我的更改也需要发生在dev的分支上 以下是我期望的目标和当前的限制 目标: 尽量减少对其他开发人员的阻碍。(我们有数百个活跃的 分支,其中一些是请求) 保存历史。(理想情况下,我希望这一变化能作为 重命名或在单个文件的历史记录上移动)
我想发出一个拉取请求,用下划线替换这个空格 正如您所知,git不存储目录;只有文件名。因此,此更改将影响代码库中的每个源文件 我如何在给同事带来最少问题的同时做出这种改变 我们所有的开发人员都从一个名为
dev
的分支分支分支出来,我的更改也需要发生在dev
的分支上
以下是我期望的目标和当前的限制 目标:
- 尽量减少对其他开发人员的阻碍。(我们有数百个活跃的 分支,其中一些是请求)
- 保存历史。(理想情况下,我希望这一变化能作为 重命名或在单个文件的历史记录上移动)
- 最小合并冲突(如果可能)
- 避免意外的副作用(可能有一些细节我不知道。我应该注意,我们在windows和linux上都有开发人员-尽管这不是区分大小写的文件更改。)
- 我无权直接更改
或dev
分支李>master
- 无法执行任何强制推送(因此我无法重写历史)李>
git mv
命令重命名目录。这将按预期工作,并保留历史记录等。即使在合并重命名之前此目录层次结构下的文件发生其他更改,也不会导致任何问题
首先,重命名目录:
git mv olddir newdir
然后使用
git commit
提交更改。您只需重命名文件夹即可。Git不会对文件进行mofify,但只考虑文件名的更改,因此对于许多文件来说,提交也很便宜。如果您想避免一些可能的合并冲突,您可以选择将此提交到其他分支。我们在过去遇到过麻烦,因为我们将代码移动到不同的目录中而丢失了所有的历史记录。我怀疑不是移动,而是有人让git记录删除和创建。