Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何在不妨碍团队的情况下重命名根项目文件夹?_Git_Git Branch_Git Merge_Git Commit_Pull Request - Fatal编程技术网

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记录删除和创建。