- git status:掌握工作時(shí)區(qū)狀態(tài)
- git diff:查看修改的內(nèi)容
- git log:查看提交歷史
- git reflog:查看命令歷史
- git branch:查看分支
- HEAD指向的版本是當(dāng)前版本
根據(jù)習(xí)慣縮寫配置別名
git config --global alias.st status
st-----status//狀態(tài)
co----checkout
ct-----commit//提交
br-----branch//分支
unstage-----reset HEAD//把暫存區(qū)的修改撤銷掉
last-----log -1//最后一次提交信息
lg-----"log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"http://喪心病狂式查看歷史記錄
- 把文件添加到倉(cāng)庫(kù)中總共分兩步
//.1.從工作區(qū)添加不同文件到stage中
git add file
//2.一次可將多個(gè)文件從stage提交到master
git commit -m "introductions"
- 版本回退
//1.上一個(gè)版本
git reset --hard HEAD^
//2.通過(guò)commit id 控制回退遥诉,
//即使窗口關(guān)閉戈擒,可以通過(guò)git reflog查看命令歷史翔始,繼而查看commit id
git reset --hard commit id
- 撤銷修改
//1.工作區(qū)的文件修改,丟棄
git checkout --file
//2.添加到stage區(qū)的文件修改,丟棄
//①?gòu)膕tage撤回到工作區(qū)(unstage)
git reset HEAD file
//②在工作區(qū)撤銷修改
git checkout -- file
//3.未提交到遠(yuǎn)程庫(kù)的,使用版本回退
git reset --hard commit id
- 刪除文件
//1.工作區(qū)中刪除了文件
rm file
//2.版本庫(kù)也想刪除
//①?gòu)陌姹編?kù)刪除--------與git add file對(duì)應(yīng)
git rm file
//②提交
git commit -m "刪除了XXX"
- 誤刪文件
//撤銷刪除
git checkout --file
//其實(shí)是用版本庫(kù)里的版本替換工作區(qū)的版本,無(wú)論工作區(qū)是修改還是刪除星澳,都可以“一鍵還原”。
- 推送到遠(yuǎn)程庫(kù)
//要關(guān)聯(lián)一個(gè)遠(yuǎn)程庫(kù)旱易,使用命令
git remote add origin git@github:username/repo-name.git
//關(guān)聯(lián)后禁偎,使用命令腿堤,第一次推送master分支的所有內(nèi)容;
git push -u origin master
//此后届垫,每次本地提交后释液,只要有必要,就可以使用命令推送最新修改装处;
git push origin master
分支管理
創(chuàng)建分支
git branch dev
切換分支
git checkout branchName
創(chuàng)建分支dev并切換為當(dāng)前分支
git checkout -b dev
合并分支
git merge dev
//此時(shí)已切換至主分支
不快速合并分支误债,生成一個(gè)commit
git merge --no-ff -m "introductions" dev
刪除分支
git branch -d dev
解決沖突
無(wú)法快速合并,在工作區(qū)修改之后妄迁,add,commit
保護(hù)工作現(xiàn)場(chǎng)
git stash
查看工作現(xiàn)場(chǎng)
git stash list
恢復(fù)現(xiàn)場(chǎng)不刪除stash
git stash apply
恢復(fù)現(xiàn)場(chǎng)并刪除
git stash pop
恢復(fù)某個(gè)工作現(xiàn)場(chǎng)
git stash apply stash@{0}
未合并的分支強(qiáng)制刪除
git branch -D dev
查看遠(yuǎn)程庫(kù)信息
git remote -v
推送分支
git push origin branchName
抓取遠(yuǎn)程庫(kù)分支
git checkout -b dev origin/dev
克隆
git clone git@github:username/repo-name.git
獲取遠(yuǎn)程庫(kù)某個(gè)分支的更新寝蹈,再與本地的指定分支合并
git pull <遠(yuǎn)程主機(jī)名> <遠(yuǎn)程分支名>:<本地分支名>
//取回origin主機(jī)的next分支,與本地的master分支合并
git pull origin next:master
//遠(yuǎn)程分支是與當(dāng)前分支合并登淘,則冒號(hào)后面的部分可以省略
git pull origin next
//上面命令表示箫老,取回origin/next分支,再與當(dāng)前分支合并黔州。實(shí)質(zhì)上耍鬓,這等同于先做git fetch,再做git merge流妻。
$ git fetch origin
$ git merge origin/next
- 從遠(yuǎn)程庫(kù)獲取最新版到本地
從遠(yuǎn)程獲取最新版本到本地
//使用如下命令可以在本地新建一個(gè)temp分支牲蜀,并將遠(yuǎn)程origin倉(cāng)庫(kù)的master分支代碼下載到本地temp分支
git fetch origin master:temp
//比較本地倉(cāng)庫(kù)與下載的temp分支
git diff temp
//合并temp分支到本地的master分支
git merge temp
//刪除temp分支
git branch -d temp
- 打標(biāo)簽
//1.默認(rèn)為HEAD打標(biāo)簽
git tag tagname
//2.指定commitID
git tag tagname commitID
//變遷按tag數(shù)字大小排序,不按創(chuàng)建時(shí)間
//3.帶說(shuō)明文字的標(biāo)簽
git tag -a tagname -m "introductions"
//4.查看標(biāo)簽內(nèi)容
git show tagname
//5.可以指定標(biāo)簽信息
git tag -a tagname -m "blablabla..."
//6.可以用PGP簽名標(biāo)簽
git tag -s tagname -m "blablabla..."
//7.查看所有標(biāo)簽绅这。
git tag
//8.推送標(biāo)簽到遠(yuǎn)程
git push origin tagname
git push origin --tags
//9.刪除標(biāo)簽
git tag -d tagname
//10刪除一個(gè)遠(yuǎn)程標(biāo)簽
git push origin :refs/tags/tagname