有没有一种方法可以将我的所有本地提交(除了最近的提交)推送到远程存储库?我想将最后一个保留在本地,以防万一我需要修改。
有没有一种方法可以将我的所有本地提交(除了最近的提交)推送到远程存储库?我想将最后一个保留在本地,以防万一我需要修改。
Answers:
push
最多可以进行特定提交的更通用方法是指定提交哈希。
git push <remote> <commit hash>:<branch>
例如,如果您具有以下提交:
111111
<-第一次提交
222222
333333
444444
555555
666666
<-最终提交
git push origin 555555:master
..会将除最后一次提交外的所有提交都推送到远程master
分支,并且
git push origin 333333:myOtherBranch
..将推送提交到并包括333333
到您的远程分支myOtherBranch
另一种可能性是
git reset --soft HEAD^
取消提交最近的提交并将更改移到暂存。那么你也能
git push
并且只会推送其余的提交。这样,您可以在推送git log
之前看到要推送的内容(通过)。
^
通过加倍引用来引用它,否则您将推动一切:git push origin HEAD^^:master