说我做了几次提交,并希望能够选择我推送到远程存储库的那些提交.我怎么能这样做(在ascii:C1-> C2-> C3-> C4,我想推C2和C4).是否会重新订购rebase,重置,推送然后重置工作?(C1-> C2-> C3-> C4 => C2-> C4-> C1-> C3 =>复位C4 => push =>复位C3).有更好的方法吗?
use*_*284 70
你在找什么:
git push origin commit-id:master
Run Code Online (Sandbox Code Playgroud)
学分归于:http://blog.dennisrobinson.name/push-only-one-commit-with-git/
解释性说明:
git rebase -i),所以它们按你想要的顺序排列.commit-id不一定是sha1.要在最后一次N提交之前推送所有内容,请使用"HEAD~N"代替commit-id.如果要推送到远程存储库中不存在的分支,请在远程分支前添加前缀refs/heads/,例如:
git push origin HEAD~1:refs/heads/completely-new-branch
Run Code Online (Sandbox Code Playgroud)
(如果没有,git会用这个绝望的错误信息惩罚你).
mid*_*iby 22
如果您在私人分支机构上提交了您的提交,您可以从私有分支机构挑选提交并将其应用于官方分支机构.此时,您现在可以在官方分支上推送所有提交(这是您之前选择的子集).
$ git push <remote name> <commit hash>:<remote branch name>
# Example:
$ git push origin 2dc2b7e393e6b712ef103eaac81050b9693395a4:master
Run Code Online (Sandbox Code Playgroud)