【发布时间】:2019-04-04 05:41:21
【问题描述】:
我想将 git 存储库中的所有内容上移一级,并且需要将其应用于我拥有的每个分支。从字面上看,我有:
+--repo
+----+.git
+----+folder
+--------+ A
+--------+ B
我只想:
+--repo
+----+.git
+----+A
+----+B
这个帖子How can I move all git content one-level up in the folder hierarchy?有一个很好的答案,建议这样做:
git mv folder/* ./ -k
现在我该如何处理所有分支?我能想到:
对 master 执行
git mv,然后在 master 上执行git rebasefor all为所有分行使用
git mv?
其中一个比另一个有优势吗?我还看到了一些基于git filter-branch --index-filter(答案here)的答案,但不明白如何将其应用于我的案例。
谢谢!
【问题讨论】:
-
您可以移动文件夹,然后添加这些更改吗?
-
但是你会为每个分支都这样做,还是为一个然后变基?谢谢
-
取决于提交树结构。在每个分支上执行此操作而不是依赖
filter-branch或rebase可能最有意义。 -
我总是将 .git 和文件夹放在同一级别,并且所有分支都基于该结构,所以看起来“一劳永逸”的操作是否有意义? 取决于树结构到底是什么意思?介意在帖子中详细说明吗?非常感谢!!
-
你了解什么是提交树吗?
标签: git git-filter-branch