我正在使用 Git。我想在一个分支中有一些代码。有没有一种简单的方法可以从不同的分支获取一个文件的版本,或者有一种简单的方法可以让这个另一个分支出现在我的文件系统的另一个目录中?
需要明确的是,我想要这个其他版本来检查,我不想用它完全替换我拥有的版本。
我正在使用 SourceTree,但我也很乐意接受基于命令行的答案吗?
我正在使用 Git。我想在一个分支中有一些代码。有没有一种简单的方法可以从不同的分支获取一个文件的版本,或者有一种简单的方法可以让这个另一个分支出现在我的文件系统的另一个目录中?
需要明确的是,我想要这个其他版本来检查,我不想用它完全替换我拥有的版本。
我正在使用 SourceTree,但我也很乐意接受基于命令行的答案吗?
我认为(来自 git checkout 文档中的最后一个条目),这将满足您的需求(虽然不确定 SourceTree,抱歉):
git checkout mybranch -- mypath/myfile
来源:https ://www.kernel.org/pub/software/scm/git/docs/git-checkout.html
git checkout [-p|--patch] [<tree-ish>] [--] <pathspec>…
当
<paths>
或 --patch 给出时, git checkout 不会切换分支。它从索引文件或命名<tree-ish>
(通常是提交)更新工作树中的命名路径。在这种情况下, -b 和 --track 选项没有意义,并且给它们中的任何一个都会导致错误。该<tree-ish>
参数可用于指定特定的树(即提交、标记或树)以在更新工作树之前更新给定路径的索引。
为了快速查看单个文件,git show
也可以选择:
git show otherbranch:./path/to/bar.foo
此 bar.foo 的输出内容到标准输出 - 如果需要,您可以将其通过管道传输到编辑器:
git show otherbranch:./path/to/bar.foo | vim -