6

假设我的 git 存储库中有一个分支“工作”和一个分支“想法”。

我通常在“工作”分支中处理我的 marvelous_file.cpp,但有时我想同时打开我的“想法”分支中的 marvelous_file.cpp。

我不想看看这两个文件之间有什么区别,而是从“ideas”分支中获取代码片段,然后将它们复制并粘贴到“work”分支的文件中。

这可能吗?如果没有,我可以将“ideas”中的文件签入“work”,但名称不同吗?

4

2 回答 2

8

你可以用它git show来做到这一点:

git show ideas:marvelous_file.cpp

这将在终端中正确显示。如果您希望将其作为文件,只需将其通过管道传输到文件中,例如:

git show ideas:marvelous_file.cpp > ideas.cpp
于 2012-10-26T16:25:08.220 回答
0

如果您首先在本地提交更改,这些步骤将正常工作:

git checkout ideas -- path/to/your/file.txt

将获取您想要的文件并替换您在工作文件夹中的文件。您可以对整个目录或整个工作树执行此操作:

git checkout ideas -- .

将抓取整个工作树

git checkou ideas -- dir/with/cool/stuff

将抓取目录的所有内容。

现在你可以

git reset -p

系统地丢弃您不想要的更改。如果它们已经放入您将要处理的文件中,这可能更容易获取您想要的片段。

于 2012-10-26T17:24:03.503 回答