Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.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_Repository - Fatal编程技术网

Git 搬家有什么副作用吗;。吉特;到父目录?

Git 搬家有什么副作用吗;。吉特;到父目录?,git,repository,Git,Repository,我最近遇到了一个我需要解决的问题。我的第一个想法是将.git移动到一个新位置。我浏览了几篇相关的帖子,我有点惊讶没有人提到这一点 考虑以下目录结构: - root - a - ... - b - .git - ... 如果我想扩展我的repo以包含根目录中的所有内容,为什么不将.git移到那里呢?这是个好主意还是个坏主意?这样做会保持我的提交历史完整吗?有哪些潜在的副作用 我想知道如果我尝试这个,可能会出什么问题 这是一个有效的用例。请参阅我的答案()了解一个现实生活中

我最近遇到了一个我需要解决的问题。我的第一个想法是将
.git
移动到一个新位置。我浏览了几篇相关的帖子,我有点惊讶没有人提到这一点

考虑以下目录结构:

 - root
 - a
   - ...
 - b
   - .git
   - ...
如果我想扩展我的repo以包含
根目录中的所有内容,为什么不将
.git
移到那里呢?这是个好主意还是个坏主意?这样做会保持我的提交历史完整吗?有哪些潜在的副作用


我想知道如果我尝试这个,可能会出什么问题

这是一个有效的用例。请参阅我的答案()了解一个现实生活中可能需要执行类似操作的示例

如果希望父目录中的所有内容都在Git中的同一存储库下进行版本控制,则不会产生任何副作用。然而,如果有不应该版本化的东西,那就是不正确的使用

用户需要知道他在做什么。正如我前面所说的,这是一个合法的用例,如果需要在版本控制下扩展代码,可以使用这种技术


只需确保您除去子目录中的
.git
文件夹,并在父目录中添加
.gitignore
,以说明对路径的更改。

还需要注意
git worktree add
git子模块的微妙之处:有时,移动
.git
目录需要编辑一组包含原始
.git
路径的
.git
文件。(还应注意此处出现的任何操作系统级异常,例如装载点:Git有避免跨越装载点的代码。)