Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何检索以前提交的部分更改?_Git_Git Checkout - Fatal编程技术网

Git 如何检索以前提交的部分更改?

Git 如何检索以前提交的部分更改?,git,git-checkout,Git,Git Checkout,我在Git分支上有以下场景 提交1:file1,file2,file3已添加 提交2:file1,file3已更改 提交3:file2已更改 提交4:file3已更改 我现在在file2中有未提交的更改,我想在提交2中检索对file1和file3所做的一些更改,然后创建第五个提交?我该怎么做?要“还原您的文件”,您应该执行以下操作: git checkout HEAD~2 file1 git checkout HEAD~2 file3 如果回滚以在新分支中提交2怎么办?获取文件内容,然后在

我在Git分支上有以下场景

  • 提交1:
    file1
    file2
    file3
    已添加
  • 提交2:
    file1
    file3
    已更改
  • 提交3:
    file2
    已更改
  • 提交4:
    file3
    已更改
我现在在
file2
中有未提交的更改,我想在提交2中检索对
file1
file3
所做的一些更改,然后创建第五个提交?我该怎么做?

要“还原您的文件”,您应该执行以下操作:

git checkout HEAD~2 file1
git checkout HEAD~2 file3

如果回滚以在新分支中提交2怎么办?获取文件内容,然后在master branch中进行更改并提交。如果我正确理解您的问题,您希望在文件1和文件3上使用,然后将所有内容转移并提交。问题有点不清楚,但我认为OP只想部分恢复
file1
file3
,因为它们存储在
commit2
中。你的建议是恢复整个文件。