假设我的git存储库中有一个分支“work”和一个分支“ideas”。
我通常在“work”分支中处理我的marvelous_file.cpp,但有时我想打开 与此同时,我的“想法”分支中的marvelous_file.cpp。
我不想看到这两个文件之间的区别,而是从“ideas”分支中获取代码片段,然后将它们复制并传递到“work”分支的文件中。
这可能吗?如果没有,我可以将“ideas”中的文件签入“work”,但名称不同吗?
答案 0 :(得分:8)
您可以使用git show
来执行此操作:
git show ideas:marvelous_file.cpp
这将在终端中显示。如果您希望将其作为文件,只需将其传输到文件中,例如:
git show ideas:marvelous_file.cpp > ideas.cpp
答案 1 :(得分:0)
如果您首先在本地提交更改,这些步骤就可以正常运行:
git checkout ideas -- path/to/your/file.txt
将获取所需的文件并替换工作文件夹中的文件。您可以对整个目录或整个工作树执行此操作:
git checkout ideas -- .
将抓取整个工作树
git checkou ideas -- dir/with/cool/stuff
将获取目录的所有内容。
现在你可以
git reset -p
系统地丢弃你不想要的改变。如果已经将这些片段放入您将要处理的文件中,则可能更容易获取所需的片段。