總結git的經常使用命令

  • git init:初始化一個git倉庫,即.git目錄
  • git add:把工做區的文件提交到暫存區
  • git commit:把暫存區的文件提交到倉庫,git commit -m '本次提交的說明'
  • git status:查看工做區或暫存區的狀態git

    版本回退

  • 能夠用git reset --hard commit_id,也能夠用git reset --hard HEAD^,說明commit_id提交的版本號,git reset --hard HEAD^表示回退上一個版本,git reset --hard HEAD^^回退到上上個版本,git reset --hard HEAD~100表示表示回退到往上100個版本
  • 版本回退前,用git log能夠查看提交歷史,以便肯定要回退到哪一個版本。git log --pretty=oneline查看簡單的版本信息
  • 要重返將來,用git reflog查看命令歷史,以便肯定要回到將來的哪一個版本。code

    撤銷修改

  • 場景1:當你改亂了工做區某個文件的內容,想直接丟棄工做區的修改時,用命令git checkout -- file。說明:git checkout -- file實際上是用版本庫裏的版本替換工做區的版本,不管工做區是修改仍是刪除,均可以「一鍵還原」
  • 場景2:當你不但改亂了工做區某個文件的內容,還添加到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset HEAD file,就回到了場景1,第二步按場景1操做。
  • 場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考上文版本回退,不過前提是沒有推送到遠程庫。
  • git rm:刪除文件orm

    添加到遠程倉庫

  • 要關聯一個遠程庫,使用命令git remote add origin git@server-name:path/repo-name.git;
  • 關聯後,使用命令git push -u origin master第一次推送master分支的全部內容;
  • 此後,每次本地提交後,只要有必要,就可使用命令git push origin master推送最新修改;
  • git clone '遠程倉庫地址' 從遠程倉庫克隆項目到本地server

    建立與合併分支

  • git branch:查看分支
  • git branch <name>:建立分支
  • git checkout <name>:切換分支
  • git checkout -b <name>:建立與切換分支
  • git merge <name>:合併分支到當前分支
  • git branch -d <name>:刪除分支
  • git branch -D <name>:刪除未合併的分支
  • 合併分支的可能會出現衝突,衝突出現的緣由就是兩我的對了同一個文件的的相同位置進行了不一樣操做,解決衝突再提交便可rem

    bug分支

  • 修復bug時,咱們會經過建立新的bug分支進行修復,而後合併,最後刪除;當手頭工做沒有完成時,先把工做現場git stash一下(注意git stash以前要先git add一下),而後去修復bug,修復後,再git stash pop,回到工做現場。it

    多人協做

  • 多人協做的工做模式一般是這樣:
    • 首先,能夠試圖用git push origin branch-name推送本身的修改;
    • 若是推送失敗,則由於遠程分支比你的本地更新不同,須要先用git pull試圖合併;
    • 若是合併有衝突,則解決衝突,並在本地提交;
    • 沒有衝突或者解決掉衝突後,再用git push origin branch-name推送就能成功
  • 若是git pull提示「no tracking information」,則說明本地分支和遠程分支的連接關係沒有建立,用命令git branch --set-upstream branch-name origin/branch-name。這就是多人協做的工做模式,一旦熟悉了,就很是簡單。io

相關文章
相關標籤/搜索