有没有办法只将选定的版本推送到远程存储库?

时间:2014-01-27 19:08:32

标签: git git-gui

请指出堆叠溢出中是否存在此问题的重复。

我想知道是否有任何方法可以将选定的版本(或最新的提交版本)推送到远程存储库? 当我推动它推动所有未推送的版本 - 我错过了什么?

2 个答案:

答案 0 :(得分:1)

Git提交依赖于它的所有父提交,因此推送最后一次提交而不是第二次提交是不可能的。

另一种方式是好的,即你不必推动分支的尖端。例如,如果要在主分支上推送倒数第二个提交(保留最后一个未推送),则可以使用master~:master作为推送refspec。 gitrevisions(7)手册页描述了表达提交的不同方式。

正如另一个答案所指出的那样,你也不必推动所有分支。如果你没有指定要推送的分支,Git的当前版本会推送具有匹配名称的所有分支,但我相信这将在Git 2.0中发生变化。

答案 1 :(得分:0)

使用:

git push origin HEAD

将仅推送您当前的分支。

git push origin foo:bar

将名为“foo”的本地分支推送到“origin”远程,并将原始服务器上的分支命名为“bar”。

Git上有很多文档:

http://gitref.org/remotes/#push https://www.kernel.org/pub/software/scm/git/docs/git-push.html