1. 程式人生 > >Git基本命令操作補充

Git基本命令操作補充

  • 檢視分支

    檢視本地分支git branch
    檢視遠端分支git branch -r
    檢視所有分支 git branch -a

  • pull遠端指定分支(本地無對應分支)

    先執行git fetch
    然後再執行git checkout -b 本地分支名 origin/遠端分支名

  • 撤銷git reset --hard操作

    方法1:
    先執行git reflog,檢視reset操作之前的那個commit id
    然後把那個id帶入命令執行git reset --hard <commit id>
    具體例子可以參考https://www.jianshu.com/p/8b4c95677ee0


    方法2:
    更好的方法是執行git reset --hard ORIG_HEAD即可

  • 刪除遠端分支

    先執行git branch -r檢視遠端分支
    再執行git branch -r -d origin/branch-name,刪除本地對應的遠端分支名稱(這一步可能可以不要,下次來測試一下)
    最後執行git push origin :branch-name提交一個空分支來刪除遠端分支或git push origin --delete branch-name刪除遠端分支

  • 取消暫存(index)

    執行git reset HEAD <file>...

  • 丟棄檔案的修改

    執行git checkout -- <file>...(該操作無法恢復)

  • 取消檔案的跟蹤

    執行git rm -r --cached <檔案>...取消跟蹤,-r表示遞迴,針對目錄檔案
    注意,對於用.gitignore忽略的檔案,必須是未跟蹤的檔案

  • 修改已經push上去的提交

    通過git commit --amend命令,將本地的提交記錄修正過來
    然後執行git push <remote> <branch> --force,強制讓遠端記錄與本地保持一致
    需要注意的是,這可能會使遠端其他人的提交丟失,以及當其他人pull了未修改的提交時,處理起來也很麻煩,具體參考

    git - How to modify existing, unpushed commits? - Stack Overflow