我正试图将一个开源项目转换为 Git,并且我最近获得了对该项目历史数据的访问权限。不过,我已经对 repo 进行了修改,因此我想在 git 提交时将这些早期更改添加到Git 中提交树的开头。(是的,我知道这将更改以后提交的 SHA;这是可以接受的。)数据作为工作目录的连续快照提供。我想设置它以便以后提交的工作目录的状态不受影响(我不想合并更改)。
例如,如果初始提交B补充文件a和b工作目录,我的历史提交A补充文件a,我想打一个新的提交B'从父A,增加了文件b只。在B和 中B',工作目录看起来相同,并且B可以安全地重新基于B'.
可以在 Git 中做到这一点吗?如果是这样,如何?
编辑:请注意,我需要修改初始提交。的标准用法git commit将新提交附加为提交的子HEAD提交,因此不适用于没有父提交的初始提交。
小智 10
像这样的事情应该有效。
# Create a new branch with the old history
$ git checkout --orphan old-history
$ git add <old-files>
$ git commit
# Rebase master on top of the branch with old-history
$ git checkout master
$ git pull --rebase . old-history
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3869 次 |
| 最近记录: |