1. 程式人生 > >git之撤銷提交內容

git之撤銷提交內容

前言

本解決方案,只適合最近一個提交或者撤銷commit的內容之後的提交內容你不需要。

問題

把兩個commit之後的程式碼提交到git服務,git服務拒接接受提交,原因是第一個commit中有一個超過100M的檔案。如何撤銷commit之後的內容

失敗的解決方案

引數過多個失敗或者不適合的解決方案

  1. 從歷史提交中刪除內容,不合適的原因是可能會刪除其他檔案。具體操作請看從歷史提交刪除內容
  2. 直接通過其他命令做到,失敗。

正確方案

  1. git log 檢視需要撤銷的提交id
  2. git reset --soft 【需要撤銷提交的id】。reset操作是回滾到某個提交,然後取消commit操作內容。
  3. git status 可以看到撤銷之後,add的內容。
  4. git rm --cached 【需要撤銷的檔案】 必須從本地索引中刪除檔案索引。直接使用git rm 是無效的
  5. git commit
  6. git push
  7. 處理完成