1、本地庫初始化
命令:
git init
效果
注意:.git 目錄中存放的是本地庫相關的子目錄和文件,不要刪除,也不要胡 亂修改。
2、設置簽名
形式
用戶名:tom
Email 地址:[email protected]
作用:區分不同開發人員的身份
辨析:這裏設置的簽名和登錄遠程庫(代碼託管中心)的賬號、密碼沒有任何關係。
命令 ,分兩個級別
項目級別/倉庫級別:僅在當前本地庫範圍內有效
git config
例如:
git config user.name tom_pro
git config user.email [email protected]
信息保存位置:./.git/config 文件
系統用戶級別:登錄當前操作系統的用戶範圍
git config --global
例如:
git config --global user.nametom_glb
git config --global [email protected]
信息保存位置:~/.gitconfig 文件
級別優先級
就近原則:項目級別優先於系統用戶級別,二者都有時採用項目級別 的簽名
如果只有系統用戶級別的簽名,就以系統用戶級別的簽名爲準
二者都沒有不允許
3、基本操作
3.1 狀態查看
git status
查看工作區、暫存區狀態
3.2 添加
git add [filename]
將工作區的“新建/修改”添加到暫存區
3.3 提交
git commit -m "commitmessage" [filename]
將暫存區的內容提交到本地庫
3.4 查看歷史記錄
git log
多屏顯示控制方式:
空格向下翻頁
b 向上翻頁
q 退出
git log --pretty=oneline
作用:每一條日誌只顯示一行
git log --oneline
作用:每一條日誌只顯示一行,其中hash值只顯示一部分
git reflog
作用:相比上一條命令多了一個移動步數
HEAD@{移動到當前版本需要多少步}
3.5 前進後退
(1)基於索引值操作[推薦]
git reset --hard[局部索引值]
git reset --hard a6ace91
(2)使用^符號:只能後退
git reset --hard HEAD^
注:一個^表示後退一步,n 個表示後退 n 步
(3)使用 ~ 符號:只能後退
git reset --hard HEAD~n
注:表示後退 n 步
3.6 reset 命令的三個參數對比
(1) --soft 參數
僅僅在本地庫移動 HEAD 指針
(2) --mixed 參數
在本地庫移動 HEAD 指針
重置暫存區
(3)–hard 參數
在本地庫移動 HEAD 指針
重置暫存區
重置工作區
3.7 刪除文件並找回
前提:刪除前,文件存在時的狀態提交到了本地庫。
操作:
git reset --hard [指針位置]
刪除操作已經提交到本地庫:指針位置指向歷史記錄
刪除操作尚未提交到本地庫:指針位置使用 HEAD
3.8 比較文件差異
(1)將工作區中的文件和暫存區進行比較
git diff [文件名]
(2)將工作區中的文件和本地庫歷史記錄比較
git diff [本地庫中歷史版本] [文件名]
(3)不帶文件名比較多個文件
git diff
4、分支管理
4.1 什麼是分支?
在版本控制過程中,使用多條線同時推進多個任務。
4.2 分支的好處?
(1)同時並行推進多個功能開發,提高開發效率
(2)各個分支在開發過程中,如果某一個分支開發失敗,不會對其他分支有任
何影響。失敗的分支刪除重新開始即可。
4.3 分支操作
(1)創建分支
git branch [分支名]
(2)查看分支
git branch -v
(3)切換分支
git checkout [分支名]
(4)合併分支
第一步:切換到接受修改的分支(被合併,增加新內容)上
git checkout [被合併分支名]
第二步:執行 merge 命令
git merge [有新內容分支名]
(5)解決衝突
衝突的表現
衝突的解決
第一步:編輯文件,刪除特殊符號
第二步:把文件修改到滿意的程度,保存退出
第三步:git add [文件名]
第四步:git commit -m "日誌信息"
注意:此時 commit 一定不能帶具體文件名