如果堆栈溢出中这个问题有重复,请指出我。
我想知道是否有任何方法可以将选定的版本(或最新的提交版本)推送到远程存储库?当我推送时,它会推送所有未推送的版本——我错过了什么吗?
Git 提交取决于其所有父提交,因此推送最后一个提交而不是倒数第二个提交是不可能的。
不过,反过来也可以,即您不必推动树枝的尖端。例如,如果您想在 master 分支上推送倒数第二个提交(让最后一个未推送),您可以将master~:master
其用作推送 refspec。gitrevisions (7)手册页描述了表达提交的不同方式。
正如另一个答案中所指出的,您也不必推动所有分支。如果你不指定要推送哪个分支,当前版本的 Git 会推送所有名称匹配的分支,但我相信这会在 Git 2.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