1. 程式人生 > 其它 >【Git】常規操作指令

【Git】常規操作指令

  Git使用筆記

//檢視某個命令文件
git help <command>
git <command> -h
git <command> --help

 1.基本操作

  使用者配置

git config --global user.name "xujianfu"
git config --global user.email 895193543@qq.com

  配置級別

–local(預設,高階優先):隻影響本地倉庫
–global(中優先順序):隻影響所有當前使用者的git倉庫
–system(低優先順序):影響到全系統的git倉庫

  倉庫操作

//初始化倉庫
git init 

//對狀態的跟蹤
git status

  注意:git status介紹:
  git中有兩個狀態:內容狀態和檔案狀態,
  內容狀態標示內容檔案的改變,有三個區域:工作目錄,暫存區和提交區
  檔案狀態有兩個狀態:已跟蹤和未跟蹤

//新增檔案內容到暫存區(同時檔案被跟蹤)
git add
    
//新增所有檔案
git add .
    
git rm --cached :僅從暫存區刪除
git rm :從暫存區與工作目錄同時刪除
git rm $(git ls-files --deleted):刪除所有被跟蹤,但是在工作目錄被刪除的檔案

git -commit -m '
first commit' //從暫存區提交 -m:註釋 git commit -a -m 'full commit'從工作區提交 git log //檢視提交歷史記錄 git log --online git log --color --graph git diff //工作區與暫存區的差異 git diff --cached [<reference>]//暫存區與某次提交的差異,預設為HEAD git diff [<reference>]//工作區與某次提交的差異,預設為HEAD git checkout -- <file> //將檔案內容從暫存區複製到工作目錄 //撤銷暫存區內容
git reset HEAD <file> //將檔案內容從上次提交複製到快取區 git checkout HEAD -- <file> //將內容從上次提交複製到工作目錄

 

  分支操作

    1.git branch  分支的增刪查改都靠它

git branch <branchName> //建立一個分支
git branch -d <branchName> //刪除一個分支
git branch -v //顯示所有分支資訊

    2.git checkout

git checkout <branchName> //通過移動HEAD檢出版本,可用於切換分支
git checkout -b <branchName> //創件一個分支並切換
git checkout <reference> //將其移動到一個引用
git checkout - //恢復到上一個分支

  git checkout 也可以跟一個commitid,這時候HEAD指向這個commitid跟所有分支分離,這個狀態為detached

    3.git reset

//git reset 將當前分支回退到歷史某個版本
git reset --mixed <commit> //(預設)
git reset --soft<commit> 
git reset --hard <commit>

    4.git stash

    git stash 用來儲存目前的工作目錄和暫存區狀態,並返回到乾淨的工作空間

    有時候我們要切換分支會有以下提示,是因為當前分支還有內容未提交,現在切換內容會丟失。這時候要用到git stash 命令

git stash save "push to stash area" // 通過save 後面傳入資訊標識 放到stash區
git stash llist //檢視收藏的記錄
git stash apply stash@{0} //將儲存的內容重新恢復到工作目錄
git stash drop stash@{0} //將對應的stash記錄刪除

git stash pop //= git stash apply + git stash drop

    5.git merge

合併分支
git cat-file -p HEAD //檢視某個物件的具體資訊
git merge 基本會出現衝突

merge fast-forward

merge fast-forward //預設 不會顯示 feature,只保留單條分支記錄。git直接把HEAD指標指向合併分支的頭,完成合並。屬於“快進方式”,不過這種情況如果刪除分支,則會丟失分支資訊。因為在這個過程中沒有建立commit
git merge --no-ff //指的是強行關閉fast-forward方式。可以儲存之前的分支歷史。能夠更好的檢視 merge歷史,以及branch 狀態

git rebase //修剪提交歷史基線,俗稱“變基”
git rebase --onto master 5755487

    6.遠端操作

git init ~/git-server --bare  //初始化一個本地的遠端伺服器

git push //將本地歷史推送到遠端


git remote add  origin ~/git-server //新增一個遠端倉庫的別名
git remote -v //檢視遠端倉庫資訊


git fetch  //獲取遠端倉庫的提交記錄
git pull // git pull = git fetch + git merge

git clone //克隆一個遠端倉庫作為本地倉庫