【Git】常規操作指令
阿新 • • 發佈:2022-05-07
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 //克隆一個遠端倉庫作為本地倉庫