我合并到main,我不满意。例如 foo.c 不是我想要的版本,我想要一个来自分支“bar”上的提交“blah”的版本。我现在要做的是在分支“bar”上签出“blah”,在文本编辑器中复制文件 foo.c 中的所有内容,再次签出 main,打开我不喜欢的 foo.c 版本,然后通过粘贴来破坏它我正在复制的内容。
一定有更好的方法。
有什么见解吗?
我合并到main,我不满意。例如 foo.c 不是我想要的版本,我想要一个来自分支“bar”上的提交“blah”的版本。我现在要做的是在分支“bar”上签出“blah”,在文本编辑器中复制文件 foo.c 中的所有内容,再次签出 main,打开我不喜欢的 foo.c 版本,然后通过粘贴来破坏它我正在复制的内容。
一定有更好的方法。
有什么见解吗?
git checkout bar -- foo.c
将只签出foo.c
分支中的文件,bar
而不会触及工作树中的其他文件。
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