我有一个名为app.js的主分支。我在一个实验分支上对这个文件进行了更改。

我只想将实验中对app.js所做的更改应用到master分支。


当前回答

如果您想要来自特定提交(任何分支)的文件,请说06f8251f

git checkout 06f8251f path_to_file

例如,在Windows上:

git checkout 06f8251f C:\A\B\C\D\file.h

其他回答

如果您想要来自特定提交(任何分支)的文件,请说06f8251f

git checkout 06f8251f path_to_file

例如,在Windows上:

git checkout 06f8251f C:\A\B\C\D\file.h

或者,如果您想要其他分支的所有文件:

git checkout <branch name> -- .

对于所有喜欢避免未知的git命令或害怕破坏某些东西的人,还有一个简单的解决方案:

检查文件所在的分支将该文件复制到计算机上的其他位置签出到文件需要到达的分支将文件粘贴到位

可能需要比相应的git命令更长的时间。。。但它有效且易于理解

一切都简单多了,用git结账。

假设您在master分支上,要从新功能分支获取app.js,请执行以下操作:

git checkout new-feature path/to/app.js

// note that there is no leading slash in the path!

这将为您带来所需文件的内容。您可以像往常一样,使用sha1的一部分而不是新的功能分支名称来获取特定提交中的文件。

注意:新功能需要是本地分支,而不是远程分支。

查看github上的文件并从那里取出

这是一种务实的方法,不会直接回答OP,但有些人发现很有用:

如果有问题的分支位于GitHub上,那么您可以使用GitHub提供的许多工具中的任何一个导航到所需的分支和文件,然后单击“原始”查看纯文本,并(可选)根据需要复制和粘贴文本。

我喜欢这种方法,因为它允许您在将远程文件拉到本地计算机之前查看其完整性。