Git从旧提交添加代码

Git从旧提交添加代码,git,merge,Git,Merge,如何将旧的提交代码合并到HEAD中?如果我想在commit hashe123ee12中将test.js的完整文件合并到HEAD test.js中 我试着使用cherry-pick,但如果有很多提交,我需要一个接一个地使用cherry-pick 我还尝试签出到e123ee12并添加一个空行,然后提交并签出回master并合并提交。但它只会合并我添加的行,不会将所有行合并到master 如何将旧提交时的所有文件合并到主文件中?您可以尝试生成一个(包括for) git格式补丁-1--aFile 然后

如何将旧的提交代码合并到HEAD中?如果我想在commit hash
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