master:默認(rèn)開發(fā)分支
Head:默認(rèn)開發(fā)分支
origin:默認(rèn)遠(yuǎn)程版本庫(kù)
Head~:Head的父提交
創(chuàng)建
git clone ssh://user@domain.com/xx.git 克隆遠(yuǎn)程倉(cāng)庫(kù)
git init 初始化本地git倉(cāng)庫(kù)(新建倉(cāng)庫(kù))
提交歷史記錄
git log 顯示日志
git show <commit> 顯示某個(gè)提交的詳細(xì)內(nèi)容
git blame <file> 在每一行顯示commit號(hào);提交者纵穿;最早提交日期
本地更改
git status 查看當(dāng)前版本狀態(tài)(是否修改)
git diff 查看所有未添加至index的變更
git diff HEAD 查看已緩存的與未緩存的所有改動(dòng)
git add <path> 將文件添加至緩存
git commit -m 'xxx' 提交
git commit --amend -m 'xxx' 合并上一次提交(用于反復(fù)修改)
git commit -am 'xxx' 將add和commit合為一步
分支機(jī)構(gòu)和標(biāo)簽
git branch 顯示本地分支
git checkout <branch> 切換分支
git branch <new-branch> 新建分支
git branch --track <new> <remote> 創(chuàng)建新分支跟蹤遠(yuǎn)程分支
git branch -d <branch> 刪除本地分支
git tag <tag-name> 給當(dāng)前分支打標(biāo)簽
更新和發(fā)布
git remote -v 列出遠(yuǎn)程分支詳細(xì)信息
git remote show <remote> 顯示某個(gè)分支信息
git remote add <remote> <url> 添加一個(gè)新的遠(yuǎn)程倉(cāng)庫(kù)
git fetch <remote> 獲取遠(yuǎn)程分支趋惨,但不更新本地分支陵霉,另需merge
git pull <remote> <branch> 獲取遠(yuǎn)程分支错敢,并更新本地分支
git push <remote> <branch> 推送本地更新到遠(yuǎn)程分支
git push <remote> --delete <branch> 刪除一個(gè)遠(yuǎn)程分支
git push --tags 推送本地標(biāo)簽
撤銷
git reset --hard HEAD 將當(dāng)前版本重置為HEAD(用于merge失敺戏狻)
git reset --hard <commit> 將當(dāng)前版本重置至某一個(gè)提交狀態(tài)(慎用)
git reset <commit> 將當(dāng)前版本重置至某一個(gè)提交狀態(tài)倚搬,代碼不變
git reset --merge <commit> 重置至某一狀態(tài)防泵,保留版本庫(kù)中不同文件
git reset --keep <commit> 重置至某一狀態(tài),重置變化的文件闽烙,代碼改變
git checkout HEAD <file> 丟棄本地更改信息并將其存入特定文件
git revert <commit> 撤銷提交
合并與衍合
git merge <branch> 合并分支到當(dāng)前分支翅睛,存在兩個(gè)
git rebase<branch> 合并分支到當(dāng)前分支,存在一個(gè)
git rebase --abort 回到執(zhí)行rebase之前
git rebase --continue 解決矛盾后繼續(xù)執(zhí)行rebase
git mergetool 使用mergetool解決沖突
git add <resolved-file> 使用沖突文件解決沖突
git rm <resolved-file>
幫助
git help <command> 獲取命令行上的幫助
當(dāng)git clone下來(lái)的工程有子模塊時(shí)黑竞,子模塊下的內(nèi)容不會(huì)自動(dòng)下載下來(lái)宏所,需要先執(zhí)行g(shù)it submodule update --init --recursive進(jìn)行初始化,然后執(zhí)行g(shù)it submodule foreach git checkout dev_test(分支名稱) 檢出需要的分支摊溶,這時(shí)每個(gè)模塊檢出的都是dev_test分支爬骤,也可以在每個(gè)模塊對(duì)應(yīng)的目錄下檢出其他需要的分支。