我将现有的git仓库(originalrepo
)分拆到我自己的github上,让我们称这个仓库为myrepo
。
我在这里编辑了某个目录中的两三个文件,比如说mydir
但是,mydir
并非直接位于myrepo
,而是myrepo/dirA/dirB/mydir
。
现在我的小组已经设置了一个名为grouprepo
的单独的git仓库,我想将我工作的文件移动到这个新的仓库。
我想直接将其移至grouprepo/mydir
并保留提交历史记录,但仅保留我所做的提交(不包括来自originalrepo
的数千次提交)并仅移动我所做的更改的文件到。
这可能吗?如果是这样,怎么样?
答案 0 :(得分:0)
你可以很简单地做到:
选择您需要的相关提交
# Add the reference to the old project where your commits are
git remote add origin2 < url>
# get all the data from all the repositories
git fetch --all --prune
# Now checkout the branch you want to add your previous commit to
git checkout <branch>
# "pick" the desired commits you want
git cherry-pick commit1 commit2 ... commit
你已经完成了设置,你的提交(只有他们)在你当前的分支中。
cherry-pick
选择哪些提交(来自任何分支,甚至可以是松散提交)选择此提交并将其放在我当前的分支中,换句话说 - 从存储库中的任何位置进行任何提交将其带到我的分支
检索所有遥控器的所有内容
cherry-pick
当前分支的所需提交
(我的情况是存在冲突,但没有区别。)