git上的後悔藥

  1. 修改上一次提交的文案git

    git commit —amend
    複製代碼

    我第一次提交時運行了命令: git add . git commit -m 「add some thing"緩存

    可是commit後悔了,須要作一些修改再提交bash

    再次提交的時候運行 git commit —amend 這時候log日誌只顯示一條信息spa

  2. 撤銷操做日誌

    • 在執行了commit 命令時 : 回滾到某一個版本git reset —hard 提交的id[commit_id] 要回退到將來 能夠使用 git reflog [由上到下分別顯示的是最新的提交命令]查看歷史命令,這樣再使用回滾到某一個版本的命令,執行回滾便可
    • 在未執行 commit但執行了 add,可以使用 git reset HEAD file,便回到執行add 以前的狀態(從stage狀態回到modified狀態)
    • 對file作了一些修改,但沒有執行 add ,這個時候執行 git checkout - - file即可撤銷全部的修改
  3. 刪除了某一個分支,恢復上面的東西code

    • git log -g找回刪掉的commit_id
    • git branch 新分支名 commit_id 便可
  4. 單獨恢復某個文件cdn

    • git log 文件名 —>找到要回退的版本
    • git reset commitID 文件名 —>這時候可能會出現這樣的 Unstaged changes after reset
    • git checkout — 文件名 便可
  5. git clean 刪除工做目錄中沒有tracked的文件blog

    -n 不會刪除任何文件,只是提醒
     -f 刪除當前目錄下沒有track過的文件,不刪除.gitignore指定的文件和文件夾
     -df 刪除沒有track的文件和文件夾
    -xd 刪除沒有track過的文件,無論是否在.gitignore指定
    複製代碼
  6. git rm 從Unmodified狀態到modified狀態it

  7. git reset —soft HEAD^ 回到最後一次commit —amend,即commit 到stage狀態io

    —soft 緩存區和工做目錄都不會改變

附錄

git文件修改的狀態變動

相關文章
相關標籤/搜索