因工作,需要給部門同事做乙個git培訓,以下是培訓記錄。
基本概念
工作區-暫存區-本地版本庫-遠端倉庫
分支管理
master,develop,issue*
git clone 轉殖
git status 檢視git狀態,工作區,暫存區狀態
git pull 從遠端倉庫拉最新**
git push 推送到遠端倉庫 ,指定源及分支 origin master
git branch 檢視分支/新建分支/檢視遠端分支-a
git checkout 切換分支/新建並切換分支 -b
git merge branch 合併某分支
git add 將修改新增到暫存區
git commit 將暫存區內容推送到本地版本庫
git log 檢視commit記錄/–oneline 單行顯示/–graph 提交圖
git blame 檢視某檔案提交記錄
conflict 解決衝突
1.本地工作區回滾
git checkout – file
git checkout .
該命令不回滾新增加的檔案
使用git clean -df 命令放棄本地檔案新增刪除等修改
git checkout . && git clean -df
2.暫存區回滾,即已add
git reset head file
git restore --staged file
3.本地版本庫回滾 ,已commit
有兩種方式
revert,抵消修改並新增恢復歷史
git revert head
缺點,只能抵消最近乙個提交,若多個提交需倒敘一一列出
優點,儲存混滾歷史,不會丟失**
git revert commitid10 commitid9 …
引數,–no-edit 不開啟編輯器,使用預設資訊
reset,徹底消失,丟棄掉某個提交後的所有提交
預設不改變工作區,會改變暫存區和本地版本庫
加上–hard引數,同步改變工作區內容
git reset commitid --hard
git log提交記錄會消失
如果版本號小於遠端倉庫,提交到遠端倉庫時時需要強制提交–force
git reflog,本地提交日誌,包括reset日誌,本地的。
1.1 比較工作區與暫存區
git diff 不加引數即預設比較工作區與暫存區
1.2 比較暫存區與最新本地版本庫(本地庫中最近一次commit的內容)
git diff --cached [
…]
1.3 比較工作區與最新本地版本庫
git diff head [
…] 如果head指向的是master分支,那麼head還可以換成master
1.4 比較工作區與指定commit-id的差異
git diff commit-id [
…]1.5 比較暫存區與指定commit-id的差異
git diff --cached [
…]1.6 比較兩個commit-id之間的差異
git diff
1.7 比較兩個分支,已commit部分差異
git diff branch1 branch2 展示所有有差異檔案整體差異資訊
引數 --stat 整體差異
引數 檔案路徑,具體檔案詳細差異
常用規則
/mtk/ 過濾整個資料夾
*.zip 過濾所有.zip檔案
/mtk/do.c 過濾某個具體檔案
需要注意已經提交建立聯絡的內容,.gitignore無效,需刪除快取
git rm -r --cached .
再提交tag 打標籤
git tag 顯示標籤
git tag v1 打標籤
git show v1 顯示詳情
git push --tags 推送
git tag -d v1 刪除本地標籤
git push origin :v1 刪除遠端標籤
修改commit 資訊
git commit --amend -m 「aa」
引數–amend 修改commit 資訊
修改源
新增git remote add origin
刪除git remote remove origin
重新命名git remote rename origin origin1
刪除分支,刪除遠端分支
git branch -d 刪除本地分支
git push origin --delete 刪除遠端分支
將本地分支與遠端分支建立對應關係
git branch --set-upstream-to=origin/thirdparty thirdparty
建立對應完成後,用git pull 和git push 即可完成相應推送
config配置
git config --list 檢視
git config -e 編輯當前倉庫
git config -e --global 編輯所有倉庫
git config --global user.name 「zander」
git config --global user.email 「[email protected]」
git從入門到精通(二)
git remote add origin 將本地庫與遠端庫做關聯 git push u origin master 將本地檔案推送到遠端倉庫,u 表示 自動將本地的 master 與 遠端的 master 做關聯 git config list 檢視已有的配置資訊 git reset test.t...
GIT入門到精通
git工作流 版本回退 分支管理 標籤管理 遠端倉庫 linux torvalds在 1991 年建立了開源的 linux,從此,linux系統不斷發展,已經成為最大的伺服器系統軟體了。linux雖然建立了linux,但linux的壯大是靠全世界熱心的志願者參與的,這麼多人在世界各地為linux編寫...
Git 入門到精通
git是乙個開源的分布式版本控制系統,用以有效 高速的處理從很小到非常大的專案版本管理。git的特點 git 是用於 linux核心開發的版本控制工具。與常用的版本控制工具 cvs,subversion 等不同,它採用了分布式版本庫的方式,不必伺服器端軟體支援 wingeddevil注 這得分是用什...