Git 實(shí)用小技巧

  1. 清理遠(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)程分支焰络,一舉兩得!

  2. 消除 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恋日。推薦使用這種方式,省事嘹狞!

  3. 查看修改過的文件名岂膳。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)行交互喻鳄。

  4. 應(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!

  5. 查看某個(gè)文件的每一行是誰修改的腥放。使用 git blame $filename 可以查看 $filename 的每一行是誰修改的泛啸,加上 -L 參數(shù),例如 git blame -L start_line,end_line $filename 或者 git blame $filename -L start_line,end_line 還可以查看從 start_lineend_line 的這些行是誰修改的秃症。

  6. 保存修改過但尚未提交的內(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

  7. 清理未跟蹤的文件五续。一個(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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末偏竟,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子敞峭,更是在濱河造成了極大的恐慌踊谋,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旋讹,死亡現(xiàn)場離奇詭異殖蚕,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)沉迹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門睦疫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鞭呕,你說我怎么就攤上這事蛤育。” “怎么了葫松?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵瓦糕,是天一觀的道長。 經(jīng)常有香客問我腋么,道長咕娄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任珊擂,我火速辦了婚禮谭胚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘未玻。我一直安慰自己,他們只是感情好胡控,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布扳剿。 她就那樣靜靜地躺著,像睡著了一般昼激。 火紅的嫁衣襯著肌膚如雪庇绽。 梳的紋絲不亂的頭發(fā)上锡搜,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天,我揣著相機(jī)與錄音瞧掺,去河邊找鬼耕餐。 笑死,一個(gè)胖子當(dāng)著我的面吹牛辟狈,可吹牛的內(nèi)容都是我干的肠缔。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼哼转,長吁一口氣:“原來是場噩夢啊……” “哼明未!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起壹蔓,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤趟妥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后佣蓉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體披摄,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年勇凭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了疚膊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡套像,死狀恐怖酿联,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情夺巩,我是刑警寧澤贞让,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站柳譬,受9級特大地震影響喳张,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜美澳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一销部、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧制跟,春花似錦舅桩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至聊记,卻和暖如春撒妈,著一層夾襖步出監(jiān)牢的瞬間恢暖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工狰右, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留杰捂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓棋蚌,卻偏偏與公主長得像嫁佳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子附鸽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容

  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,478評論 1 26
  • Git是目前最流行的版本管理系統(tǒng)脱拼,也是最先進(jìn)的分布式版本控制系統(tǒng)(distributed version cont...
    pro648閱讀 5,707評論 1 17
  • 分片機(jī)制:分片的機(jī)制:一開始插入數(shù)據(jù)時(shí),數(shù)據(jù)是只插入到其中一塊分片上的坷备,插入完畢后熄浓,mongodb內(nèi)部開始在各片之...
    米刀靈閱讀 3,801評論 0 2
  • 前言 他是她生命里的孤島 她是他天空里的飛鳥 永遠(yuǎn)不要輕言等待,等待是多么奢侈的東西省撑。電影里赌蔑,只需鏡頭切換,字幕上...
    易似非閱讀 911評論 0 1
  • jQuery中的動(dòng)畫大致分為三類: 基本動(dòng)畫方法hide()和show()到fadeIn()和fadeOut(),...
    McRay閱讀 373評論 0 0