1.本地庫初始化
命令:git init
效果:
注意:.git目錄中存放的是本地庫相關的子目錄和文件,不要刪除,也不要胡亂修改。
2.設置簽名
命令: 項目級別/倉庫級別:僅在當前本地庫範圍內有效
git config user.name tom_pro
git config user.email [email protected]
信息保存位置: ./.git/config 文件
系統用戶級別: 登錄當前操作系統的用戶範圍
git config --global user.name tom_glb
git config --global user.email [email protected]
信息保存位置: ~(家目錄)/.gitconfig 文件
級別優先級:項目級別優先於系統用戶級別
二者都沒有不允許
3.基本操作:
1)狀態查看操作: git status 查看工作區、暫存區狀態
2)添加操作:git add [file name] 將工作區的”新建/修改“ 添加到暫存區
3)提交操作: git commit -m "commit message" [file name] 將暫存區的內容提交到本地庫
4)查看歷史記錄:git log 多屏顯示控制方式 : 空格向下翻頁 b 向上翻頁 q 退出
git log --pretty=oneline/git log --oneline(只顯示過去) 簡潔顯示歷史記錄
git reflog(過去未來都顯示) HEAD@{移動到當前版本需要多少步}
5)前進後退: 基於索引值操作[推薦] git reset --hard [局部索引值]
使用^符號: 只能後退
git reset --hard HEAD^
注:n個^表示後退n步
使用~符號:只能後退
git reset --hard HEAD~n
注: 表示後退n步
6)reset命令的三個參數對比:
--soft參數:僅僅在本地庫移動HEAD指針
--mixed參數:在本庫移動HEAD指針並且重置暫存區
--hard參數: 在本地庫移動HEAD指針,重置暫存區和工作區
7)刪除文件並找回
前提:刪除前,文件存在時的狀態提交到了本地庫。
操作:git reset -hard HEAD [指針位置]
刪除操作已經提交到本地庫:指針位置指向歷史記錄
刪除操作尚未提交到本地庫:指針位置使用HEAD
8)比較文件差異
git diff [文件名] 將工作區中的文件和暫存區進行比較
git diff[本地庫中歷史版本] [文件名] 將工作區中的文件和本地庫歷史記錄比較
不帶文件名,比較多個文件
4.分支管理:
1)同時並行推進多個功能開發,提高開發效率
2)各個分支在開發過程中,如果某一個分支開發失敗,不會對其他分支有任何影響。
失敗的分支刪除重新開始即可。
3) 創建分支: git branch [分支名]
查看分支: git branch -v
切換分支:git checkout [分支名]
合併分支: 第一步:切換到接收修改的分支(被合併,增加新內容)上 git checkout[將要被合併分支名]
第二步:執行merge命令 git merge [外來新內容分支名]
解決衝突: 第一步:編輯文件,刪除特殊符號
第二步:把文件修改到滿意的程度,保存退出
第三步:git add [文件名]
第四步:git commit -m "日誌信息"
注意:此時commit一定不能帶具體文件名
5. GitHub操作:
1) 查看當前所有遠程地址別名:git remote -v
2)在本地創建遠程庫地址別名:git remote add [別名] [遠程地址]
3)推送:git push [別名] [分支名]
4)克隆:git clone [遠程地址]
效果:完整的把遠程庫下載到本地
創建遠程庫地址別名
初始化本地庫
5) 拉取: pull=fetch+merge
git fetch [遠程庫地址別名] [遠程分支名]
git merge [遠程庫地址別名]/[遠程分支名]
6)協同開發時衝突的解決:如果不是基於GitHub遠程庫的最新版所做的修改,不能推送,必須先拉取。
拉取下來後如果進入衝突狀態,則按照"分支衝突解決"操作解決即可。
7) 跨團隊協作:本地修改,然後推送到遠程
Pull Request
New pull request
Create pull request
Merge pull request 點擊這裏合併代碼
將遠程庫修改拉取到本地
8)SSH免密登錄
進入到當前用戶的家目錄
cd ~
刪除.ssh 目錄 rm -rvf .ssh
生成ssh密鑰目錄 ssh-keygen -t rsa -C [郵箱地址]
進入.ssh目錄查看文件列表
cd .ssh
查看id_rsa.pub文件內容
cat id_rsa.pub
複製文件內容,登錄github,點擊用戶頭像-Settings-SSH and GPG keys
New SSH Key
輸入複製的密鑰信息
回到Git bash 創建遠程地址別名
git remote add origin_ssh [SSH克隆地址]
推送文件進行測試
6.Eclipse 操作
1)工程初始化爲本地庫 工程-右鍵-Team-Share Project
勾選 Use or create......,然後Create Repository
2)Eclipse中忽略文件
概念:Eclipse特定文件 這些都是eclispe爲了管理我們創建的工程而維護的文件,和開發的代碼沒有直接關係。
最好不要在Git中進行追蹤,也就是把它們忽略。
.classpath文件 .project文件 .settings目錄下所有文件
爲什麼要忽略Eclipse特定文件呢?
因爲同一個團隊中很難保證大家使用相同的IDE工具,而IDE工具不同時,相關工程特定文件就可能不同。如果這些文件加入版本控制,那麼開發時很可能需要爲了這些文件解決衝突。
在~/.gitconfig文件中引入java.gitignore文件
[core]
excludesfile = C:/Users/DELL/java.gitignore
注意:這裏路徑一定要是/不能是\
3)克隆到本地並生成特定文件:import...-Git-Projects from Git 右鍵項目-configure-convert to maven project(生成有特定文件的eclipse工程)