是否可以在一个目录中拥有2个git存储库?我想不会,但我想我会问.基本上,我想检查我的主目录配置文件(例如.emacs),它应该在我工作的所有机器上是通用的,但是有本地文件的第二个存储库(例如.emacs.local),其中包含机器特定的配置.我能想到的唯一方法是将本地配置放在子目录中,并忽略主git存储库中的子目录.还有其他想法吗?
我想保留两个不同的git回购.repos应该保留在同一个根目录中.怎么实现呢?
我愿意的是:管理两个略有不同的回购.我可以在同一个文件夹中有两个完全不同的回购吗?
感谢关心:)
在我的开发计算机上,我以前只是将 git 用作自动备份/恢复系统。我知道这并不是 git 的用途,但它对我来说非常有效。我有一个简单的脚本,它每 5 分钟运行一次(类似于 Windows 任务计划程序)并检查是否有任何文件已更改。如果是这样,它会创建一个新提交(带有消息“自动提交”)并将其推送到我在外部硬盘驱动器上的镜像。我也可以将其扩展到推送到其他位置的镜像。
我不想停止这样做,因为系统不止一次挽救了我的生命。在电源故障、意外文件删除或客户突然决定他们喜欢 2 个月前的项目外观并且他们想要恢复所有更改之间 - 将所有内容回滚到任何时间点的能力是非常宝贵的。
现在,当我想将这些存储库之一放在 github 上进行协作时,问题就来了。每次我推送到 github 时,它都会创建数十或数百或提交,通常代码不完整,因为我正在修改文件五分钟后。
我希望有一个位于同一目录中并监视相同文件的第二个存储库,但是我希望它只手动提交。这样,当我推送到 github 时,只有有意义的提交,而且我所有的自动备份都不会被窥探。
这甚至可能吗?
快速编辑 -
谷歌搜索,这个git rebase命令有什么用吗?似乎它可能会破坏所有自动提交,这并不是理想的行为。
长编辑 -
这个小项目一直是一个噩梦。
按照@janos 的建议,我在每个文件夹中设置了第二个存储库。为了设置这些,我只是git clone在当前存储库上使用。我修改了我的autosave.bat文件以使用GIT_DIR并且GIT_WORK_TREE认为一切都会很花哨......事实并非如此
首先,为了好玩,在 Windows 7 PC 上尝试以下操作:
test.bat
--------
CD C:\SomeFolder
FOR /D %%i in (*) DO (
CD %%i
set GIT_WORK_TREE=%cd%
echo %GIT_WORK_TREE%
CD ..
)
Run Code Online (Sandbox Code Playgroud)
这样的结果应该很明显了吧?我们逐步遍历 中的每个子目录SomeFolder,将其设置为当前GIT_WORK_TREE,然后输出GIT_WORK_TREE。输出:
C:\SomeFolder
C:\SomeFolder …Run Code Online (Sandbox Code Playgroud)