
image.png
- Workspace:工作區(qū)
- Index / Stage:暫存區(qū)
- Repository:倉(cāng)庫(kù)區(qū)(或本地倉(cāng)庫(kù))
- Remote:遠(yuǎn)程倉(cāng)庫(kù)
工作項(xiàng)目中較常用的git 指令
創(chuàng)建版本庫(kù)
- git init
在當(dāng)前目錄創(chuàng)建初始化git本地倉(cāng)庫(kù) - git clone [url]
克隆遠(yuǎn)程倉(cāng)庫(kù)
修改和提交
- git status
查看git 本地狀態(tài) - git diff
用來比較文件不同 - git diff [指定文件地址]
用來比較指定的文件 - git add .
添加所有文件到暫存區(qū) - git add [指定文件地址]
添加指定文件到暫存區(qū) - git commit -m 'message'
將暫存區(qū)里的改動(dòng)給提交到本地的版本庫(kù)
git commit –amend
這個(gè)命令會(huì)將暫存區(qū)中的文件提交。 如果自上次提交以來你還未做任何修改(例如,在上次提交后馬上執(zhí)行了此命令), 那么快照會(huì)保持不變,而你所修改的只是提交信息。(簡(jiǎn)稱合并兩個(gè)pr,只用一個(gè)commit 信息) - git cherry-pick [commit]
選擇一個(gè)commit,合并進(jìn)當(dāng)前分支 - git fetch origin
從遠(yuǎn)程獲取代碼庫(kù) - git merge origin
將遠(yuǎn)程 代碼 合并到 某分支 - git pull origin
從遠(yuǎn)程拉取代碼并合并 - git push origin master
推送代碼 到遠(yuǎn)程 分支
分支查看與管理
- git branch
查看本地分支 - git branch -a
查看本地以及遠(yuǎn)程分支 - git branch -d [分支名]
刪除本地分支名為xx的分支 - git checkout -b [分支名]
創(chuàng)建本地分支xx分支并切換到xx分支 - git checkout [分支名]
切換本地分支到xx分支
遠(yuǎn)程倉(cāng)庫(kù)的操作
- git remote -v
查看所有的遠(yuǎn)程倉(cāng)庫(kù) - git remote add origin [url]
添加遠(yuǎn)程倉(cāng)庫(kù)關(guān)聯(lián) - git remote set-url origin [git地址]
修改關(guān)聯(lián)的遠(yuǎn)程倉(cāng)庫(kù)地址 - git remote rm origin
刪除關(guān)聯(lián)的origin遠(yuǎn)程倉(cāng)庫(kù) - git remote rename old_name new_name
修改倉(cāng)庫(kù)名
- git stash
執(zhí)行存儲(chǔ) - git stash save [stash 注釋內(nèi)容]
執(zhí)行存儲(chǔ)時(shí),添加備注 - git stash list
查看stash了哪些存儲(chǔ) - git stash pop
恢復(fù)之前緩存的工作目錄 - git stash apply
恢復(fù)某個(gè)存儲(chǔ),但不會(huì)把存儲(chǔ)從存儲(chǔ)列表中刪除 - git stash pop stash@{num}
恢復(fù)之前緩存的指定的工作目錄 - git stash clear
刪除所有緩存的stash
查看提交歷史
- git log
查看所有歷史提交記錄 - git log -5
查看最近5條記錄 - git log --oneline
查看歷史記錄的簡(jiǎn)潔版本 - git log --reverse --oneline
來逆向顯示所有日志, 按照時(shí)間先后順序排列 - git log --author=[名字] --oneline -5
查看某人最近5次提交記錄
- git reset --hard HEAD
將本地版本回退到上一次提交版本 - git reset --hard id
將本地版本回退到指定版本 (id通過git log查看)
git 標(biāo)簽 tag
- git tag
查看所有的標(biāo)簽 - git tag v1.0
創(chuàng)建標(biāo)簽 - git tag -a v1.0
打開編輯器附注標(biāo)簽 - git tag -a [tagName] -m '注釋解釋說明'
創(chuàng)建并指定標(biāo)簽信息命令 - git push [remote] [tag]
提交指定tag - git push origin :refs/tags/[tagName]
刪除遠(yuǎn)程tag - git checkout -b [branch] [tag]
新建一個(gè)分支指向某個(gè)tag