亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

意義是不想remote有過多commit comment

意義是不想remote有過多commit comment

Git
胡子哥哥 2023-04-16 21:17:51
git 如何撤銷一次remote的master commit?除了在local reset后再push之外 有沒有在remote直接reset之類的呢? 
查看完整描述

2 回答

?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

我的做法是本地回滾到正確的版本,然后在push一次,如果要消除之前的那次提交記錄,貌似要用git rebase

查看完整回答
反對 回復 2023-04-20
?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

沒有,只能 git reset --hard 然后 git push -f

你的問題詢問的是如何撤銷 remote 的 commit,唯一的辦法就是本地修正然后又強制推送,并且很多人都已經提到,強制推送是非常壞的實踐,除非必要或者個人未公開項目或者小團隊項目(溝通成本較低)才可行。

貌似你想清理提交歷史,那么 git 相比于其它 VCS 在這方面絕對是非常在行的。你可以使用 git rebase 命令對歷史進行重構,可以重新排序、合并、拆分一些提交,總之完全足夠清理你所謂的臟歷史。如果你想要對整個歷史做某些確定的修改,還有 git fileter-branch 命令可用,非常靈活,相當值得深入。

說說我的提交流程吧,我一般是對一個文件進行修改直到達到我的目的后才開始進行提交,這個時候我也不是只直接做一次提交,而是使用 vim 和 vim-fugitive 插件,在 diff 模式下打開工作區和暫存區,然后在暫存區重新一步一步的重現我的修改,在適當的時候進行提交。由于我已經完成了整個修改,所以我很清楚每個修訂該誰先誰后,所以能夠做到比較干凈清晰和“原子性”(即一個提交只做一個特定的修改,而不是混合若干個修改)的提交,方便其他人進行代碼審閱。


查看完整回答
反對 回復 2023-04-20
  • 2 回答
  • 0 關注
  • 230 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號