git命令彙總

1)基本環境

1)本地初始化:生成.git目錄,不要輕易修改
命令:git init 
2)設置簽名:區分不同開發人員的身份,這裏設置的簽名和登錄遠程庫(代碼中心)的賬號、密碼沒有任何關係;
* 項目級別/倉庫級別:僅在當前本地庫範圍有效
命令:
git config user.name admin
git config user.email [email protected]
信息保存的位置:.git/config文件中
* 系統用戶級別:登錄當前操作系統的用戶範圍
命令:
git config --global user.name admin
git config --global user.email [email protected]
信息保存的位置:~/.gitconfig文件中
* 級別優先級:
(1)就近原則:項目級別優先於系統用戶級別,二者都存在時採用項目級別的簽名;
(2)如果只有系統用戶級別的簽名,就以系統用戶級別的簽名爲準;
(3)二者如果都不存在,在以後操作中會頻繁的報錯;

2)基本操作

git status           #查看工作區及暫存區的狀態
git add 123.txt   #將工作區的文件提交到暫存區(可以針對單個文件,也可使用”.“表示當前目錄所有文件)
git rm --cached 123.txt      #將暫存區的文件撤回,重新放到工作區中
git commit -m "first commit 123.txt" #將暫存區的內容提交到本地庫 (-m描述信息,加文件名和不加文件名一樣)

3)查看歷史記錄的幾種方式

git log                      #查看之前的提交的日誌信息
git log --pretty=oneline     #查看之前的提交的日誌信息(以一行的方式顯示)
git log --oneline            #查看之前的提交的日誌信息(以更簡潔的方式進行顯示)
git reflog                   #顯示所有的歷史記錄的HEAD指針

4)控制版本前進後退

1)基於索引值操作(推薦使用)

git reset --hard d67b2ca            #--hard後是git reflog命令查詢出的索引值

2)使用^符號(只能後退)

git reset --hard HEAD^              #後退一個版本(^一個表示回退一個版本)

3)使用~符號(只能後退)

git reset --hard HEAD~n            #n表示後退幾步

5)刪除文件並找回

前提:刪除前,文件存在時的狀態提交到了本地庫;
操作:

git reset --hard [指針位置]

1)刪除操作已經提交到本地庫:指針位置指向歷史記錄;
2)刪除操作尚未提交到本地庫:指針位置使用HEAD;

6)比較文件差異

git diff [文件名]          #將工作區中的文件和緩存區進行比較
git diff [本地庫中歷史版本] [文件名]     #將工作區中的文件和本地庫歷史記錄進行比較
git diff [本地庫中歷史版本]             #將工作區中所有文件和本地庫進行比較

7)git打標籤

git tag             #查看已有的標籤
git tag -l 'v1.1*         #查看以v1.1開頭的所有標籤
git tag -a v1.1 -m "version 1.1"         #添加一個標籤
git show v1.1             #查看標籤對應的詳細信息
git tag -a v1.2 e1f20ac -m "fist commit tag"       #對前期的commit信息打標籤(標籤名稱後是commit id號)
git push origin v1.2           #將本地的分支上傳到遠程倉庫
git push origin --tags         #將所有不在遠程倉庫服務器上的標籤全部傳送到遠程倉庫
git tag -d v1.1                 #刪除本地的分支
git push origin :refs/tags/v1.1            #刪除遠程的分支

8)git分支管理

git branch  [分支名稱]               #創建分支
git branch -v    #查看所有分支,"*"號表示當前所在分支(-v選項不加也行)
git checkout  [分支名稱]           #切換分支
git  checkout  -b   [分支名稱]      #創建分支並切換分支   
git merge  [被合併的分支名]         #快速合併分支(前提是不能在被合併的分支上)
git  branch   -d  [分支名稱]             #刪除指定分支
git  branch   -D  [分支名稱]             #強制刪除指定分支
git stash               #將當前版本庫的狀態臨時存儲
git stash  pop           #恢復並刪除臨時存儲的信息
git stash  apply               #恢復臨時存儲的信息,但是不刪除信息
git stash  drop               #刪除臨時存儲的信息
git stash  show                #查看臨時存儲的信息
git remote add origin https://github.com/lvzhenjiang-hub/test.git          #將遠程倉庫的地址起個別名,名稱爲origin
git remote                  #查看當前版本庫是否屬於遠程版本庫
git remote  -v                #查看詳細信息
git push  origin  master              #將本地的master分支推送到遠程倉庫
git checkout -b  dev  origin/dev                 #創建本地dev分支並且關聯到遠程倉庫的dev分支
git fetch origin master        #從遠程倉庫下載到本地
git merge origin/master        #將遠程分支進行合併
git pull origiin master        #將遠程倉庫的master分支下載到本地,併合並,主要用於解決衝突
git branch --set-upstream-to=origin/dev dev              #將本地的dev分支關聯到遠程倉庫的dev分支
git branch  -r  -d  origin/dev       #刪除指定遠程的dev分支
git  push   origin  :dev         #將刪除的遠程分支提交到遠程版本庫中
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章