gpt4 book ai didi

git - 如何在文件夹层次结构中将所有 git 内容向上移动一级?

转载 作者:IT王子 更新时间:2023-10-29 00:41:49 25 4
gpt4 key购买 nike

我有一个 git 存储库,其结构如下所示:

+--repo.git
|
+----+bootstrap.py
+----+buildout.cfg
+----+.gitignore
+----+webapp
|
+---------+manage.py
+---------+modules
+---------+templates
+---------+static
+---------+...
+---------+...

我想将 webapp 文件夹的内容上移一层。我得到的 repo 应该是这样的:

+--repo.git
|
+----+bootstrap.py
+----+buildout.cfg
+----+.gitignore
+----+manage.py
+----+modules
+----+templates
+----+static
+----+...
+----+...

我可以通过简单地将 webapp 目录的所有文件向上移动一层,删除空的 webapp 目录然后提交更改来实现吗?这会保留 webapp 目录下文件的提交历史吗?

虽然对你们中的许多人来说这是一个非常简单的问题,但我想确定一下。我最不想要的就是 git 汤。


我尝试移动文件,但我丢失了提交历史,因为 git 并不真正处理移动或重命名。我知道即使它在日志中显示为新文件,仍然可以使用 git log 中的一些选项查看文件的提交历史记录。

根据我的阅读,完成此操作的最佳方法是使用 git-filter。我对 shell 或 git 不是很好所以有人可以告诉我我需要执行什么来完成上述操作。

最佳答案

正确的做法是:

git mv repo.git/webapp/* repo.git/.
git rm repo.git/webapp
git add *
git commit -m "Folders moved out of webapp directory :-)"

关于git - 如何在文件夹层次结构中将所有 git 内容向上移动一级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7130850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com