Git命令進階篇

  1. 追溯哪句代碼是誰改的:
  • $ git log -p [filename]
    顯示文件所有詳細的修改記錄,信息非常全,慢慢找
  • $ git log -L 1,2:[filename]
    顯示文件1-2行的更改記錄,通過行數縮小范圍
  • $ git blame [filename]
    顯示的是每一行‘最后’是誰改的,如果只是追查最后的結果,比上一種好找
  1. commit丟失怎么找?
  • $ git reflog
    可以查看所有commit的ID:reset后的、rebase中的、pull的、merge的。它的盡頭就是clone或init.
  1. commit信息寫錯、代碼寫錯、把后一次提交合并到前一次
  • 若沒push到遠程:
    • $ git add [files] (添加修改文件到暫存區)
    • $ git commit --amend (進入文本編輯模式修改commit信息)
  • 已經push到遠程:
    • $ git revert HEAD (撤銷上一次commit的內容(并且會提交一次))
    • 非要改,必須確認本地代碼沒問題的條件下,git push -f 重寫遠程的歷史記錄 非常危險,慎重使用
  1. 新功能開發到一半,想回到舊代碼測試或者改bug
  • 創建一個分支,把修改commit到新分支上存起來(一般都會的操作,不演示命令了)
  • $ git stash 默認暫存所有的更改,代碼回到上一次commit的狀態;
  • $ git stash pop 取回暫存的更改。
  • $ git stash list 查看所有 stash
  • $ git stash drop 刪除最新 stash
  • $ git stash clear 刪除所有stash
  • 注:若pop前有文件修改,也會保留修改;有沖突的話會有提示

參考:http://blog.jobbole.com/96088/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,647評論 1 26
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,736評論 9 163
  • 再次成為鄰桌的我們沒有第一次的尷尬和陌生。如果你仔細觀察的話你會發現,調侃,逗笑都變成了雙向的,機智如我偶爾也會被...
    l因l為l年l輕l閱讀 256評論 0 0
  • 123圖書館財務人員績效考核方案 來源地:123圖書館(123.tsg.com) 一、被考核人員 財務部經理、主管...
    Euphoria11閱讀 473評論 0 1