gpt4 book ai didi

git - 将 git 移动到更高的文件夹?

转载 作者:太空狗 更新时间:2023-10-29 14:47:15 31 4
gpt4 key购买 nike

我有一个文件夹在 git 下有一段时间了,我需要将 git 'repo' 文件夹上移一个文件夹,例如我的文件夹是:

/project/data/
/project/src/.git

我需要将它移动到:

/project/data/
/project/src/
/project/.git

编辑:
我在那里有一段时间的 repo ,它有一个我想保留的预先存在的历史,我还需要在服务器上移动 repo (与本地机器完全相同的结构)

最佳答案

如果您没有预先存在的历史记录并且只想在正确的位置重新启动而不移动太多文件,评论中提到的重复问题有适合您的答案。

如果您想保留现有的历史记录,但假装这一切都发生在更高的目录中,可以采用以下方法:

cd /project/src
git filter-branch --tree-filter 'mkdir src; git mv -k * .gitignore src'
cd ..
mv src junk
mv junk/src src
mv junk/.git .git

filter-branch 命令重写您的历史记录行,以便所有操作都发生在 src/ 层次结构下。其余的将事情移回原位。如果周围有未跟踪的文件,它们最终将留在 junk/ 命名空间中。

警告:我使用 git mv -k .gitignore src 作为过滤器,因为它是快速简单的方法,但它无法移动任何点文件可能有。 (在这种情况下,将它们添加到命令中。)正确的方法是使用 git ls-files 作为索引列表,但要做到这一点非常棘手就移动而言,所以如果你能避免它,一定要避免。

关于git - 将 git 移动到更高的文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20052501/

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