讓你愛上 Git 的 10 篇文章
你對 Git 了解得越多,使用 Git 就會越容易。一起來回顧下年度最佳 Git 文章。
Git 是開源開發(fā)者工具箱中最基本的工具。這個(gè)強(qiáng)大的版本控制系統(tǒng)有很多復(fù)雜的功能。使用 Git 不需要了解它所有的功能,但是對 Git 了解得越多,使用 Git 就會越容易。
下面每篇文章都提供了一些奇技淫巧來提升和增強(qiáng)你的 Git 技能。
怎么解決 git 合并時(shí)的沖突
Brian Breniser 的這篇教程從 git merge
的定義以及解釋什么是沖突開始。然后他詳細(xì)解釋了在合并時(shí)如果有沖突如何解決沖突。Breniser 還提了一些能學(xué)習(xí)更多關(guān)于解決沖突和其他 Git 功能的建議。
4 個(gè)不可或缺的 Git 腳本
Vince Power 分享了他最重要的 Git 腳本。這些腳本可以從 Git Extras 包中獲得,該包提供了 60 多個(gè) Git 增強(qiáng)腳本。Power 最愛的腳本有:在無需打開文本編輯器的情況下編輯 .git-ignore
的 git-ignore
;用于提供 Git 倉庫的摘要的 git-info
;用來處理 GitLab 的合并請求(MR)和 GitHub 的拉取請求(PR)的 git-pr
;把 Git 的提交(commit
)、標(biāo)簽(tag
)和推送(push
)合為一體的 git-release
。
完美生活:git rebase -i
在 Dave Neary 的這篇文章中可以學(xué)習(xí)使用 git rebase -i 來修改你的 Git 提交歷史。Neary 從解釋 Git 是如何把提交歷史記錄到倉庫中的以及 git commit
和 git rebase
的區(qū)別。之后,他又解釋了如何使用 git rebase -i
讓 Git 倉庫的提交歷史變得簡潔。這個(gè)命令能讓你把“修復(fù)書寫錯誤”的提交合進(jìn)其它提交里,把幾個(gè)相似的小提交合并成一個(gè)大的提交。
Git Cola 讓使用 Git 變得簡單
Seth Kenlon 演示了如何使用 Git Cola。Git 是個(gè)命令行工具,這對于有些人來說是有學(xué)習(xí)門檻的。Git Cola 提供了一個(gè)圖形界面,因此不習(xí)慣用命令行的用戶也可以使用 Git。在此文中,Kenlon 展示了如何安裝 Git Cola,并使用 Git Cola 的圖形用戶界面完成了很多 Git 提交任務(wù)。
6 個(gè)在團(tuán)隊(duì)中使用 Git 的最佳實(shí)踐
從設(shè)計(jì)上講,Git 是個(gè)協(xié)同工具,但是關(guān)于如何協(xié)同的很多細(xì)節(jié)是由團(tuán)隊(duì)自行決定的。Ravi Chandran 提了一些建議,團(tuán)隊(duì)?wèi)?yīng)該采用這些建議更高效地使用 Git。Chandran 在文中列出的 6 個(gè)最佳實(shí)踐是:“使約定正式化”,“正確地合并修改”,“經(jīng)常變基你的功能分支”,“在合并之前把壓扁你的提交”,“使用標(biāo)簽”,“讓軟件的可執(zhí)行程序打印標(biāo)簽”。
改變我使用 Git 工作方式的七個(gè)技巧
Rajeev Bera 分享了 7 個(gè) Git 技巧,這些技巧能提升 Git 的用戶體驗(yàn)。文章探討了 Git 的自動更正、提交計(jì)數(shù)、倉庫優(yōu)化、備份未追蹤的文件、了解 .git
目錄、在另一個(gè)分支查看文件以及在 Git 下搜索。
使用 tmux 和 Git 定制化我的 Linux 終端
Moshe Zadka 展示了他是如何使用 tmux 和 Git定制化他的 Linux 終端的。Zadka 的文章是個(gè)人工作流的優(yōu)秀探索。他使用 GNOME 終端,用 tmux 和一些能讓他快速查看 Git 倉庫狀態(tài)的功能來增強(qiáng)終端。他只需要用一個(gè)字母就可以提交文件或把提交推送到遠(yuǎn)程倉庫。
使用 Lazygit 讓復(fù)雜的 Git 任務(wù)簡單化
Jesse Duffield 解釋了如何使用Lazygit,一個(gè)能讓使用 Git 變得簡單的終端界面。Lazygit 的開發(fā)者 Duffield 詳細(xì)闡述了如何使用這個(gè)界面來暫存文件、以交互方式變基、進(jìn)行篩選、搜索提交以及創(chuàng)建一個(gè) PR。
使用子模塊和子樹來管理 Git 項(xiàng)目
子模塊和子樹是兩種在 Git 倉庫中引入嵌套的子項(xiàng)目的方式。在使用子模塊和子樹來管理 Git 項(xiàng)目中,Manaswini Das 解釋了兩個(gè)選項(xiàng)的工作原理和區(qū)別。
不喜歡 diff?那么試試 Meld
Ben Nuttall 展示了如何使用 Meld 代替 diff來進(jìn)行對比和合并修改。Meld 是圖形化的 diff
,輸出更容易理解。Nuttall 演示了使用 diff
和 Meld 進(jìn)行對比的區(qū)別。他還解釋了 Meld 是如何識別 Git 項(xiàng)目的,這意味著在 Git 中一個(gè)文件被提交之后,可以用 Meld 來搜索修改。