0
我对git比较陌生,我需要执行以下操作。将模块从一个回购库移动到另一个回收库
- 给出一个模块,X,在回购A,我想移动,X,以回购乙
- 我需要这样做,为什么同时保持某些作者的历史。即保留“乔”和“鲍勃”的提交历史并注意其他。
关于如何做到这一点的任何想法?
谢谢!
我对git比较陌生,我需要执行以下操作。将模块从一个回购库移动到另一个回收库
关于如何做到这一点的任何想法?
谢谢!
你可以做这样的事情:
首先加入 '回购一个' 本地
git remote add repoa https://github.com/user/repoa.git
然后做一个混帐推到回购
git push repoa
Likewis EADD '回购B'本地
git remote add repob https://github.com/user/repob.git
然后做一个混帐推回购回
git push repob
这样做会推高整个存储库的当前状态。
现在分别克隆库:
cd /path/where/you/want/new/repos/to/be
git clone https://github.com/user/repoa.git repoa
git clone https://github.com/user/repob.git repob
(其中repoa
作为第二个参数是要克隆到目录)
,并在每次运行git rm -r
与目录/文件要从回购中删除,例如回购-a:
git rm -r src/repob docs/repob
再次重复上述操作以回购-b。
然后为每个库运行以下命令阶段,以对缺失承诺:
git add -u
然后做一个承诺,你通常会:
git commit -m "Deleted files from repo b"
然后推
git push origin
重新执行最后3个命令进行repo-b。
这将创建两个独立的存储库,其中包含回购库中所有文件的完整历史记录,不幸的是,我不知道保留“只有该回购库中的文件”历史记录的方法。
可能重复的[git:将更改引入一个回购到另一个回购](http://stackoverflow.com/questions/3816040/git-apply-changes-introduced-by-commit-in-one- repo-to-another-repo) –
您在这里没有定义“模块”,这可能很重要。同时,请注意,在Git中,历史*是*提交。这两个是不可分割的。每个提交都是一个快照;历史是通过随时间播放快照而形成的。 – torek
[将子目录分离(移动)到单独的Git存储库中](http://stackoverflow.com/questions/359424/detach-move-subdirectory-into-separate-git-repository) – Joe