一满力、分支(branch)
git branch 列出本地的分支;當(dāng)前分支星號(hào)標(biāo)記运嗜;
git branch -r 列出遠(yuǎn)端的分支仲翎;
git branch -a 列出本地及遠(yuǎn)端的分支痹扇;
git branch -v 列出當(dāng)前分支最上次的提交記錄;
git branch aaa 在當(dāng)前分支創(chuàng)建一個(gè)名為 aaa 的新分支溯香,注意:新分支是基于你最后一次commit建立的鲫构;
git branch push origin 分支名 上傳分支到服務(wù)器;
git branch -d 分支名 刪除本地分支玫坛;
git push origin :分支名结笨,刪除遠(yuǎn)端分支;
git checkout aaa 切換到aaa分支;
git checkout -b aaa 新創(chuàng)建分支aaa,并切換到aaa,合并操作炕吸;
git merge 分支名 合并某分支到當(dāng)前分支伐憾;
另外,git checkout — 文件名赫模;還有撤銷文件的作用树肃;
二、tag:
git tag 列出標(biāo)簽瀑罗;
git tag -a v1.0; -a參數(shù)意思是添加注釋胸嘴;
git tag v1.0 commit ID,根據(jù)提交id打tag;
git push origin v1.0,推到服務(wù)器;
git push origin —tags,把所有tag推到服務(wù)器斩祭;
git tag -d v1.0,刪除本地tag劣像;
git push origin :refs/tags/v1.0,刪除遠(yuǎn)端v1.0tag;
git show v1.0,查看標(biāo)簽信息;
三停忿、stash
git stash 把當(dāng)前的改動(dòng)壓入一個(gè)棧.
git stash將會(huì)把當(dāng)前目錄和index中的所有改動(dòng)(但不包括未track的文件)壓入一個(gè)棧,然后留給你一個(gè)clean的工作狀態(tài),即處于上一次最新提交處.
git stash list會(huì)顯示這個(gè)棧的list.
git stash apply:取出stash中的上一個(gè)項(xiàng)目(stash@{0}),并且應(yīng)用于當(dāng)前的工作目錄.也可以指定別的項(xiàng)目,比如git stash apply stash@{1}.
如果你在應(yīng)用stash中項(xiàng)目的同時(shí)想要?jiǎng)h除它,可以用git stash pop
刪除stash中的項(xiàng)目:
git stash drop stash@{index}: 刪除上一個(gè),也可指定參數(shù)刪除指定的一個(gè)項(xiàng)目.
git stash clear: 刪除所有項(xiàng)目;
四驾讲、url 別名
git remote ( list, add and delete remote repository aliases.) 遠(yuǎn)程庫URL的別名alias
因?yàn)椴恍枰看味夹枰暾腢RL,所以git為每一個(gè) remote repo (遠(yuǎn)程庫)起了一個(gè)別名席赂,然后用git remote 來管理這個(gè)列表;如果你clone一個(gè)庫时迫,git自動(dòng)把URL添加進(jìn)來颅停,然后起一個(gè)別名,就叫origin掠拳;(額癞揉,原來origin就是URL,庫的存放地址溺欧;)
git remote ,列出別名單喊熟;
git remote -v ,可看到別名實(shí)際URL地址;
git remote add [alias] [url]: 添加一個(gè)新的remote repo.
git remote rm [alias]: 刪除一個(gè)存在的remote alias.
git remote rename [old-alias] [new-alias]: 重命名.
git remote set-url [alias] [url]:更新url. 可以加上—push和fetch參數(shù),為同一個(gè)別名set不同的存取地址.
五姐刁、compare
git diff 此命令是比較的當(dāng)前工作區(qū)和暫存區(qū)的變化芥牌,也就是說修改還沒有提交到暫存區(qū)
git diff —cached 是比較 暫存區(qū)和 add到暫存區(qū)之前 的不同;
git diff —staged 同上聂使;
git diff HEAD 是與上一次提交作比較壁拉;HEAD的意思是最新的一次提交;
git diff branch1 branch2 比較兩個(gè)分支柏靶;
git diff [version tag] 比較自從 [version tag] 這個(gè)版本到現(xiàn)在更改了那些內(nèi)容弃理;
git diff branch1…branch2 比較兩個(gè)分支分開后各有啥變動(dòng);
六屎蜓、reset
git reset HEAD 文件名
撤銷暫存區(qū)內(nèi)某文件的修改痘昌;然后執(zhí)行 git checkout -- 文件名,復(fù)原工作區(qū)。
git reset HEAD 撤銷最近一次的提交辆苔;
七笔诵、config
git config --global alias.co checkout,把checkout 改別名為co;
git config --global alias.ci commit姑子,把commit 改別名為ci;
git config --global alias.br branch乎婿,把branch 改別名為br;
git config user.name 獲取用戶名
git config user.email 獲取用戶郵箱
—global 是全局設(shè)置,表示在這臺(tái)電腦上所有的git庫都管用街佑;
以后敲命令谢翎,直接用別名替代;
最后附上鏈接:
史上最淺顯易懂的Git教程-廖雪峰