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 #將刪除的遠程分支提交到遠程版本庫中