git已經(jīng)完全占據(jù)我的工作和生活,作為一個(gè)版本控制軟件,能做到這個(gè)份上,也真是夠了。
長時(shí)間使用,總結(jié)了一些些小小的巧妙用法。
批量刪除分支
工作開發(fā)中,總會(huì)建立很多分支。因?yàn)椋琯it的分支足夠好用,而且靈活,基于指針,用起來非常
輕松。但是一不小心,就搞出了好多分支。一個(gè)一個(gè)刪除太費(fèi)勁了,尤其對我這種用命令行的。但
只要輕松想一下,其實(shí)也是可以有辦法解決的。
還記得grep
嗎?linux下的全文搜索引擎,這里就得說道,git和linux的相似性,git也是基
于文件的。
比如我有這樣的一些分支:
feature#23
feature#24
feature#25
feature#26
那么,就可以用下面一條命令解決:
git branch | grep 'feature' | xargs git branch -d
刪除主分支之外的其他分支
應(yīng)用上一條的格式git branch | grep [options] | xargs git brnach -d
,其實(shí)只需要變化grep
的使用方式了就可以了。因?yàn)?code>git branch命令輸出的其實(shí)是一段文本,故而如下:
git branch | grep -v 'master' | xargs git branch -d
如果要強(qiáng)制刪除,忽略沒有合并的警告的話:
git branch | grep -v 'master' | xargs git branch -D
忽略已入庫文件的修改
項(xiàng)目開發(fā)中,經(jīng)常會(huì)遇到一些配置文件,比如數(shù)據(jù)庫密碼的配置,每個(gè)人的配置都不一樣,如果不忽略更
改也沒問題。但是,這樣一個(gè)已更改的標(biāo)志在那,總會(huì)讓人有些不爽。對于有強(qiáng)迫癥的程序員,那簡直是
難以忍受的。
這也是有辦法的:
git update-index --assume-unchanged FILENAME
如果你又要使用到這個(gè)文件的更改的時(shí)候后,可以使用下面的命令還原:
git update-index --no-assume-unchanged FILENAME