我reset回first commit. 然後修改了,再提交。就不行了
更新如下,其實我隻是想實現svn的功能。提取版本一,作了修改,然後push,生成了版本三,而不是直接覆蓋了版本二
学习是最好的投资!
git reset 適合在自己的分支中進行操作,當分支已經合併到遠端版本庫後,不建議再進行此操作。 如果遠端版本庫不會影響其它人更新合併(一個人的遠端版本庫)可以用git -f push強制推送到遠端版本庫。
svn與git對於history的概念差異非常大。 git的push操作,相當於把目前分支合併到遠端分支上。鹵煮的操作其實是這樣
开始是这样: o--o--o--o--o 后来reset: o 再后来: o \ x--x
那麼滷煮是想把從first commit後完全不同的分支合併起來,你想想remote能答應嗎?如果希望合併,鹵煮可以在目前分支下進行合併,例如
git merge|rebase origin/current_branch #当然在与remote进行合并的时候,尽量不使用rebase这样对history有“破坏”的操作 # 接下来解决一系列冲突 git push ...
又或用本地分支替換掉remote的分支
git push origin current_branch -f
建議詳讀"Pro Git"這本書,會很有幫助的。 英文: http://git-scm.com/book/ 中文: http://git-scm.com/book/zh
利用git push -f或git revert,詳見:git push -f
這樣直接刪除遠端分支太暴力了,可以參考這篇部落格的解決方案http://blog.mtxcxin.cn/blog/git如何回滾遠端倉庫.html
git reset 適合在自己的分支中進行操作,當分支已經合併到遠端版本庫後,不建議再進行此操作。
如果遠端版本庫不會影響其它人更新合併(一個人的遠端版本庫)可以用git -f push強制推送到遠端版本庫。
svn與git對於history的概念差異非常大。
git的push操作,相當於把目前分支合併到遠端分支上。鹵煮的操作其實是這樣
那麼滷煮是想把從first commit後完全不同的分支合併起來,你想想remote能答應嗎?如果希望合併,鹵煮可以在目前分支下進行合併,例如
又或用本地分支替換掉remote的分支
建議詳讀"Pro Git"這本書,會很有幫助的。
英文: http://git-scm.com/book/
中文: http://git-scm.com/book/zh
利用git push -f或git revert,詳見:
git push -f
這樣直接刪除遠端分支太暴力了,可以參考這篇部落格的解決方案http://blog.mtxcxin.cn/blog/git如何回滾遠端倉庫.html