我有,我不想失去历史的合理量的现有的Git仓库。问题是我想添加在当前git根目录上方的目录。我知道以下不会工作:可以将外部目录添加到现有的Git仓库
git add ../[dir]/[filename]
这似乎是我需要做一个导出/导入来得到这个工作。任何人都可以帮我挽救我的历史吗?我在正确的轨道上,还是有一个更简单的方法来做到这一点?
我有,我不想失去历史的合理量的现有的Git仓库。问题是我想添加在当前git根目录上方的目录。我知道以下不会工作:可以将外部目录添加到现有的Git仓库
git add ../[dir]/[filename]
这似乎是我需要做一个导出/导入来得到这个工作。任何人都可以帮我挽救我的历史吗?我在正确的轨道上,还是有一个更简单的方法来做到这一点?
因此,这里是我是如何解决这个我自己。由于原来的文件布局
top-+ | |-foo-+ | |-page1 | |-.git | |-bar-+ |-page2
我想在酒吧目录添加到我的仓库,并有“顶”目录内直接git的文件。
使用Git MV
举杠铃目录到原来的FOO目录和现有repositry中创建一个新的foo的目录
将所有版本的文件复制到新富目录文件系统现在应该是这样的:
top-+ | |-foo-+ |-.git |-foo-+ | |-page1 | |-bar-+ |-page2
/-+ |-top/ |-foo-+ |-.git |-foo-+ | |-page1 | |-bar-+ |-page2
版本历史记录保持在变化,你有一个提交消息以显示目录结构如何更改。
您可以用符号链接是目录到您的git目录:
ln -s ../[dir] externaldir
git add externaldir
感谢您的建议。这是解决问题的一种方法。但是,如果我忘记在结帐时删除符号链接,那么我可以将文件暴露给我不想公开的不受信任的来源。我正在寻找一种不会改变现有文件系统布局的解决方案。 – neomorphic 2010-01-04 18:17:53
如果您在另一个工作目录中的布局与第一个目录不同,则可以考虑硬链接到目录,以便不暴露您的文件。 – 2010-01-04 19:00:37
一方面你希望你在'../ dir'文件版本控制下放置,在其他 - 不被暴露在不受信任来源。你能澄清吗? – 2010-01-04 19:22:41