清理遠(yuǎn)程倉庫已刪除、本地仍存在的遠(yuǎn)程分支。有時(shí)候遠(yuǎn)程倉庫的某個(gè)分支已經(jīng)被刪除了,但是使用
git branch -r
查看時(shí)狂秦,該分支在我們本機(jī)上依然存在。這是因?yàn)槲覀儓?zhí)行git fetch
或者git pull
命令時(shí)并不會(huì)同步清理這些遠(yuǎn)程倉庫已刪除推捐、本地仍存在的遠(yuǎn)程分支裂问。這時(shí)我們可以使用git remote prune origin
或者git fetch -p
(即--prune
,表示在 fetch 代碼之后刪除未跟蹤的遠(yuǎn)程分支)進(jìn)行清理玖姑。我比較喜歡用git fetch -p
愕秫,既拉了代碼,又清理了沒用的遠(yuǎn)程分支焰络,一舉兩得!消除
git pull
時(shí)產(chǎn)生的 Merge 消息符喝。我們執(zhí)行git pull
時(shí)闪彼,總是會(huì)產(chǎn)生一條無意義的 Merge 消息。如何消除這條 Merge 消息呢协饲?熟悉 Git 的 猿類都知道執(zhí)行 rebase 是不會(huì)產(chǎn)生 Merge 消息的畏腕,所以還是這個(gè)思路,我們可以通過如下方式消除git pull
時(shí)產(chǎn)生的 Merge 消息茉稠。
一描馅、 每次執(zhí)行git pull
時(shí)加上--rebase
參數(shù),即每次 pull 代碼時(shí)都執(zhí)行git pull --rebase
二而线、先執(zhí)行git config --global pull.rebase true
(在一臺機(jī)器上只需要執(zhí)行一次)铭污,然后執(zhí)行git pull
恋日。推薦使用這種方式,省事嘹狞!查看修改過的文件名岂膳。
git diff
會(huì)顯示當(dāng)前工作區(qū)有哪些內(nèi)容發(fā)生了改動(dòng),如果只想查看有哪些文件名發(fā)生了修改磅网,就可以使用git diff --name-only
谈截。你可能會(huì)問,git status
不也可以么涧偷?沒錯(cuò)簸喂,但是git status
還會(huì)顯示一些額外信息,比如 “Changes not staged for commit...”等燎潮,不方便與外部腳本進(jìn)行交互喻鳄。應(yīng)用其他分支的 Commit 到當(dāng)前分支。有時(shí)為了方便跟啤,我們可能在某個(gè)功能分支上修復(fù)了一個(gè) bug 诽表,后來才意識到應(yīng)該新開一個(gè) bugfix 分支再去修改和 Commit 。新建 bugfix 分支后隅肥,我們不必手把手的將代碼再修改一遍竿奏,只需要使用
git cherry-pick your-bugfix-commit-hash
就可以將在功能分支上修改bug的代碼"應(yīng)用"過來,super cool!查看某個(gè)文件的每一行是誰修改的腥放。使用
git blame $filename
可以查看 $filename 的每一行是誰修改的泛啸,加上-L
參數(shù),例如git blame -L start_line,end_line $filename
或者git blame $filename -L start_line,end_line
還可以查看從start_line
到end_line
的這些行是誰修改的秃症。保存修改過但尚未提交的內(nèi)容候址。經(jīng)常會(huì)有這樣的時(shí)刻,正在開發(fā)某個(gè)功能种柑,然后要去修復(fù)一個(gè)重要的bug岗仑,那已經(jīng)修改過的內(nèi)容怎么辦?先提交代碼聚请,然后切分支去修復(fù)bug荠雕?這么做也可以!但是我們有更優(yōu)雅的方式驶赏,那就是使用
git stash
炸卑。git stash
會(huì)把修改過但未提交的內(nèi)容保存起來,然后我們就可以切分支去修改 bug 了煤傍。修改完bug之后盖文,再切換到我們功能分支,輸入git stash pop
就可以把之前修改過但尚未提交的內(nèi)容恢復(fù)回來蚯姆。具體操作步驟如下:
1>git checkout feature-branch
2> 開發(fā)功能......
3> 被告知要修改 bug
4>git stash
5>git checkout hotfix
6> 修改 bug 并提交代碼
7>git checkout feature-branch
8>git stash pop
清理未跟蹤的文件五续。一個(gè)新需求洒敏,你剛剛創(chuàng)建了model、view返帕、controller和spec的一些文件桐玻,然后產(chǎn)品經(jīng)理又告訴你這個(gè)需求不做了(想踹死他是不是?)荆萤,這時(shí)可以使用
git clean
命令可以刪除還未加入版本倉庫的文件镊靴。git clean
默認(rèn)情況下是不會(huì)刪目錄的,可以使用git clean -f -d optional-dir-name-or-current-dir
連目錄一起刪除链韭。git clean
的詳細(xì)參數(shù)參見:git help clean
Git 實(shí)用小技巧
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門睦疫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鞭呕,你說我怎么就攤上這事蛤育。” “怎么了葫松?”我有些...
- 文/不壞的土叔 我叫張陵瓦糕,是天一觀的道長。 經(jīng)常有香客問我腋么,道長咕娄,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任珊擂,我火速辦了婚禮谭胚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘未玻。我一直安慰自己,他們只是感情好胡控,可當(dāng)我...
- 文/花漫 我一把揭開白布扳剿。 她就那樣靜靜地躺著,像睡著了一般昼激。 火紅的嫁衣襯著肌膚如雪庇绽。 梳的紋絲不亂的頭發(fā)上锡搜,一...
- 文/蒼蘭香墨 我猛地睜開眼哼转,長吁一口氣:“原來是場噩夢啊……” “哼明未!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起壹蔓,我...
- 序言:老撾萬榮一對情侶失蹤趟妥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后佣蓉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體披摄,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年勇凭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了疚膊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布,位于F島的核電站柳譬,受9級特大地震影響喳张,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜美澳,卻給世界環(huán)境...
- 文/蒙蒙 一销部、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧制跟,春花似錦舅桩、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至聊记,卻和暖如春撒妈,著一層夾襖步出監(jiān)牢的瞬間恢暖,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓棋蚌,卻偏偏與公主長得像嫁佳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子附鸽,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- Git是目前最流行的版本管理系統(tǒng)脱拼,也是最先進(jìn)的分布式版本控制系統(tǒng)(distributed version cont...
- 分片機(jī)制:分片的機(jī)制:一開始插入數(shù)據(jù)時(shí),數(shù)據(jù)是只插入到其中一塊分片上的坷备,插入完畢后熄浓,mongodb內(nèi)部開始在各片之...
- jQuery中的動(dòng)畫大致分為三類: 基本動(dòng)畫方法hide()和show()到fadeIn()和fadeOut(),...