将修补程序文件中的更改应用于INDEX文件和工作区

时间:2010-09-21 15:31:14

标签: git

我在GIT上阅读this (old) posting并阅读以下内容:

  
      
  • 通过使用git add --p,您可以从要包含的文件中选择要签入的修补程序。

  •   
  • 结果是索引包含的文件版本不在您的工作副本中。

  •   

我的问题有两个:

  1. 这仍然是真的吗?
  2. 在完成此操作后,如何将更改从索引中恢复?

1 个答案:

答案 0 :(得分:2)

我认为你可能会误解git add -p的作用。

git add -p是您可以使用的,如果您在工作副本中修改了文件,但您只想将这些文件中的一些差异应用于索引。因此,您最终会得到索引中的某些内容,其中只包含您工作副本中的某些更改。它与补丁文件没有任何关系;它只是让您选择工作副本和HEAD之间的差异部分来应用于索引。

如果要将补丁文件应用于索引和/或工作副本,请使用git apply。默认情况下,这只会对工作副本应用更改,您必须使用git add将它们添加到索引中;但是,您可以使用--index将它们添加到索引中,或--cached 将它们添加到索引中,而无需修改工作副本。

如果要在邮箱中应用大量补丁,可以使用git am一次应用一系列补丁。