git将单个文件推送到远程跟踪分支

时间:2011-06-17 17:15:21

标签: git github

民间,

这是我的用例:我有3个分支,这三个都是远程跟踪分支。

git branch
  release-alpha
* release-allUS
  master

现在我在release-allUS分支中添加了一个新文件,我做了一个提交:

 git add filter_driver.rb 
 git commit -m "driver code"

现在我想只将此文件推送到远程release-allUS分支,我该怎么做?非常感谢任何反馈。

2 个答案:

答案 0 :(得分:11)

由于您在本地提交的所有内容都是该文件,因此您的遥控器的git push将起作用。推送只会推动本地提交的内容。

git push origin release-allUS

正如manojlds在评论中所指出的那样,只有在没有其他任何阶段,并且没有其他未被删除的本地提交的情况下,这将起作用。如果是这种情况,您可能最好从远程创建一个新的跟踪分支,将本地提交选择到新分支,推送到远程,然后重新定位原始跟踪分支。

答案 1 :(得分:4)

我知道你可以通过这种方式推向某个分支:

git push origin <branch>

我只是快速查看了git push --help,它似乎没有说明将单个文件提交发送到分支。

也许有一个解决方法就是拥有一个integration分支,除非你想推送提交,否则你永远不会触摸它。如果您在integration分支机构中,则可以从其他分支机构执行git cherry-pick <commit>,仅将该提交内容中的内容移至integration,然后执行git push origin integration