民间,
这是我的用例:我有3个分支,这三个都是远程跟踪分支。
git branch
release-alpha
* release-allUS
master
现在我在release-allUS分支中添加了一个新文件,我做了一个提交:
git add filter_driver.rb
git commit -m "driver code"
现在我想只将此文件推送到远程release-allUS分支,我该怎么做?非常感谢任何反馈。
答案 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