Git从旧提交添加代码
如何将旧的提交代码合并到HEAD中?如果我想在commit hashGit从旧提交添加代码,git,merge,Git,Merge,如何将旧的提交代码合并到HEAD中?如果我想在commit hashe123ee12中将test.js的完整文件合并到HEAD test.js中 我试着使用cherry-pick,但如果有很多提交,我需要一个接一个地使用cherry-pick 我还尝试签出到e123ee12并添加一个空行,然后提交并签出回master并合并提交。但它只会合并我添加的行,不会将所有行合并到master 如何将旧提交时的所有文件合并到主文件中?您可以尝试生成一个(包括for) git格式补丁-1--aFile 然后
e123ee12中将test.js的完整文件合并到HEAD test.js中
我试着使用cherry-pick,但如果有很多提交,我需要一个接一个地使用cherry-pick
我还尝试签出到e123ee12
并添加一个空行,然后提交并签出回master并合并提交。但它只会合并我添加的行,不会将所有行合并到master
如何将旧提交时的所有文件合并到主文件中?您可以尝试生成一个(包括for)
git格式补丁-1--aFile
然后把它应用到你现在的头上
git am -3 < file.patch
git am-3
注意:对于多个提交,您可以。可能的重复项不同。@Chienley:重复项有什么不同?我看到了完全相同的问题…可能重复的问题是关于恢复和重置,但这是关于选择旧提交并合并到当前提交。为什么它格式化补丁-1
然后git am-3
而不是git am-1
@ChienLee the-3 if用于执行三向合并,而与-1无关(仅在一次提交时进行修补):-
:从最顶层的
提交准备修补程序。我正在执行以下git格式修补程序-1 e123ee12
然后它生成0001-。修补程序
然后git签出主程序
然后git am-3 0001-。修补程序
我创建了另一个测试git文件夹,它可以工作,但对原始项目仍然不起作用t(应用后无行更改),仍在尝试解决。@ChienLee OK。可能它考虑了原始项目中该文件的历史记录,并认为已应用修补程序。。。
git am -3 < file.patch