在合并时使用git从以前的提交中获取文件。效率

时间:2012-05-28 14:55:30

标签: git

我合并到main,我不满意。例如,foo.c不是我想要的版本,我想在分支“bar”上提交“blah”版本。我现在做的是在分支“bar”上结帐“blah”将文件foo.c中的所有内容复制到文本编辑器中,再次检出主页,打开foo.c的版本我不喜欢,然后通过粘贴来破坏它我正在复制什么。

必须有更好的方法。

有什么见解?

2 个答案:

答案 0 :(得分:2)

git checkout bar -- foo.c只会检查分支foo.c中的文件bar,而不会触及工作树中的其他文件。

the documentation for git checkout中介绍了这一点。

答案 1 :(得分:0)

 git checkout bar path/to/foo.c

应该这样做。但是,如果您想查看foo.c包含的内容,可以使用git show

 git show <some sha1 or other reference>:path/to/foo.c

所以要查看2提交前包含的文件,您可以:

 git show HEAD^^:path/to/foo.c

当前提交的副本可以缩短为:

 git show :path/to/foo.c