我用来跟踪某些linux系统文件(/ etc / *)的更改,我在/ etc中有.git 但现在我决定把它移到/因为我想跟踪/ etc之外的文件(/ etc和/都在同一个文件系统中......),我这样做并尝试重新添加相同的文件:
git add $(git status | awk '/deleted/ { print "etc/"$3 } ')
但它似乎没有像我希望的那样工作,因为现在是两个列表,其中一个带有“新文件”列表,另一个带有“已删除文件”列表,如果现在提交,我将丢失所有历史记录 对于文件....
正确的步骤是什么?
谢谢! 安东尼奥
答案 0 :(得分:3)
使用git subtree
(installation instructions,如果尚未安装)。
在/
创建一个新的存储库,并将其与/etc
中的现有存储库合并:
$ cd /
$ git init
$ git subtree --prefix etc /etc master
答案 1 :(得分:2)
SO上有类似的问题:
My Git repository is in the wrong root directory. Can I move it? (../ intead of ./)
在没有丢失文件历史的情况下,无法更改目录。