我已经进行了多次提交但不希望现在推送所有提交。有没有办法只推动我想要的那些提交?
由于
答案 0 :(得分:5)
您有两种选择,
说,您想要包含最近五次提交中的三次:
git rebase -i HEAD~5 # reorder the lines in the text editor,
# leave the 'private' commits at the end
git push origin HEAD~2:master # push all but the last two
这涉及一个临时分支,还有很多工作
git checkout -b temp HEAD~5
git cherrypick <hash1>
git cherrypick <hash2>
git cherrypick <hash3>
git push origin master
--cherry-pick
或--cherry-mark options
与git log
一起查看引用之间的实际差异(git log --cherry-pick --oneline master...origin/master
)答案 1 :(得分:1)
此命令可以提供帮助:
$ git push origin <thelonghash>:master
但是,如果您提交A->B->C->D
并执行git push origin C:master
,则提交A,B,
和C
将被推送到原点。因此,如果您只需要推送C
,则需要使用git rebase -i
重新排列提交,以便C
最早。