我有一个很大的主项目有几个目录子树。git推子目录到另一个主要的回购
我想推在一个特定的子树的起源,这是一个单独的存储库的变化。
麻烦似乎是,我想要推动的当前子树最初并不是来自我想推入的存储库。它来自一个不同的回购,通过子树指南我发现通过谷歌搜索。它看起来非常相似。
大项目布局,其中important_subtree
是我很担心的事情。
~/devel/bigproject
.git/
some_subtree/
other_subtree/
important_subtree/
abc.txt
efg.txt <--- new version
hij.txt
而且important_subtree
是 “强烈相关的” 到回购:
~/devel/important
.git/
abc.txt
efg.txt <--- old version
hij.txt
现在~/devel/bigproject/important_subtree/efg.txt
已经改变了,我想的important_subtree推到回购~/devel/important
。所以之后~/devel/important/efg.txt
也有变化。
我设法做的唯一的事情是推动推一切在bigproject到重要,这显然不是我想要的。只应推动子树中的更改。
工程魅力。你应该提到'YOUR_SUBDIR'将成为改写回购的根目录(这正是我想要的)。另外,我不明白'推':我的新的远程网址?为什么-f(强制)?什么是“。”在这里呢?我无法重新创建您的推送。所以我去了'cd ..; git clone' - 完美。 –
towi
推送是将提取的文件添加到新的远程。那编辑更清楚了吗? – jeremyjjbrown
“新的遥控器?我想你说的是我不能将重写的repo推送到当前的远程,因为历史被重写了。所以最好初始化一个新的回购(裸机,在服务器上,不管),并将重写推到那里。 – towi