提取部分git repo的git历史记录以创建git子模块-Cherry-pick?
|
一个类似的问题,即如何挑选多个提交,假设这些提交是连续的。
我有一个以tarball下载的模块。我已经将其包含在主项目的git repo中,并对其进行了更改。这些更改散布在主项目的其他提交中。
我已经意识到自己的错误,并希望使用git子模块替换该模块。我可以只添加当前状态,但我想保留自己的git历史记录。
如何将每个提交提交到我的新仓库中?
我想我可以用樱桃摘来做,但是很费时间。这是我所拥有的:
使用主项目将我的新仓库设置为远程仓库(这样我就可以选择了):
cd ~/snippets
git remote add main ~/.vim/
git fetch main
我可以在主项目中看到带有“ 1”的相关提交
我可以制作一个脚本来挑选
cd ~/.vim/snippets
git log --oneline --reverse --format=\"format:git cherry-pick %h #%s\" .
但是,如果我运行脚本,则存在合并冲突。解决合并提交后,我需要从我的挑选脚本中删除成功的位,然后再次运行它。我想自动执行此操作,例如git rebase。
没有找到相关结果
已邀请:
4 个回复
委婪绷冗诉
是有帮助的-如果您使用ѭ4around来移动文件,并使用
来删除对分支没有影响的提交,那么您应该能够以仅包含子目录更改的分支结束项目。 如果您现在没有时间,可以使用我的其他答案作为临时措施:)。
捐焦
惭法搽
诞胃
来自
:
只查看涉及给定子目录的历史记录。 结果将包含该目录(仅该目录)作为其目录 项目根目录。意味着称为“重新映射到祖先”的部分。