如何使用Git将文件从一个分支复制到另一个分支?

60

我有一个包含两个分支 mastergh-pages 的 git 仓库。如果我想要将 master 分支中的文件 foo 复制到 gh-pages 分支而不进行合并,应该使用哪个命令?非常感谢。

4个回答

94

你可以:

git checkout gh-pages
git checkout master foo
git commit -m 'Add file foo to gh-pages.'

3
好的,谢谢。但似乎必须先提交“foo”文件。 但是它运行良好。谢谢。如果我有足够的声望,我会为您投票~ - Hgtcl
3
当然它必须先被提交,否则它不会在“那个分支”上,而只是在你的工作副本中。如果是这种情况,你应该使用 git stash - Wildcard
或者,如果它没有提交,只需检出所需的分支。未提交的更改将保留在您身边,准备好进行提交。 - Tormod

1
如果您想比较两个分支之间的所有差异:您可以使用git difftool master gh-pagesgit difftool <gh-pages的SHA1> . 如果您想获取特定文件列表的差异,请参考this
git diff master gh-pages -- path/to/file

它不能正常工作,它会显示两个分支之间所有不同的文件。这可能非常令人烦恼。无论如何,谢谢大家。 - Hgtcl

-1

在提交foo之后,也可以从master分支上挑选需要的内容并合并到gh-pages分支。(在合并之后,必须执行git add [foo所在路径]命令并提交)


-1
我会这样做:当你提交时,可以选择提交和推送什么。因此只提交 master 中的 foo,然后推送它,然后在 Github/Bitbucket 上将其合并到 gh-pages 中。

只提交 foo?这是一个无用的提交。这会强制别人拉取它并使他们感到烦恼。这比使用 cp 命令还要糟糕。 - Hgtcl
抱歉,我没有听清楚你的意思。你是不是想让我合并 mastergh-pages 分支? - Hgtcl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接