Git 最佳實踐 – 如何充分利用 (g)it

已發表: 2019-07-02

Pull、Fetch、Commit、Push、Merge、Rebase——這些術語是否已經進入你的日常生活? 當 Linus Torvalds 創建他的第一個 Git 版本時,他將其描述為“愚蠢的內容跟踪器”。 快進到今天,這個免費的開源軟件現在是最流行的版本控制系統。

什麼是 Git?

難道您不希望有時可以讓時間倒流,這樣您就可以做出更好的決定或以不同的方式做事嗎? 好吧,在技術和編碼的世界裡,你可以。 Git 是一個開源分佈式版本控制系統,每次您對其進行任何更改/添加時,它都會保存您寶貴代碼的版本。 因此,無論何時您需要回滾,您只需選擇工作版本即可! Git 還允許團隊內部無中斷工作,因為開發人員可以同時處理他們各自的本地副本。 跟踪每個團隊成員的每一個更改,從而在有組織的流程中保持透明度。 那麼什麼是 GitHub? GitHub 是 Git 的存儲庫託管服務,它也有很多功能可以優化您的版本控制系統。
Git 工作流程

每個組織都有不同的 Git 工作流程。 最成功的 Git 工作流程是為您的團隊提供足夠的生產力空間,同時最大限度地提高其輸出效率的工作流程。 它應該可以根據您團隊的規模進行擴展,並且應該最大限度地減少可能出現的衝突數量。 集中式 Git 工作流是構建其他 Git 工作流的基礎,例如功能分支工作流、分叉工作流、Gitflow 工作流等。應該計劃一個工作流來增強和補充您組織的文化。 對於每個團隊,他們自己的 Git 工作流程。

為什麼要使用 Git?

1.分佈式架構

與強制開發人員訪問單個中央存儲庫以便能夠“檢出”並提交對單個文件的更改的集中式版本控制系統不同,Git 遵循分佈式方法。 在分佈式架構中,每個開發人員都有自己的整個中央存儲庫的本地副本,允許他們離線工作、訪問完整的修訂歷史記錄以及輕鬆的分支和合併。

2. 強大的性能

使用 Git 工作流程進行分支、合併、提交等非常簡單快捷,因為它的智能深度知識算法可以理解 T 的訪問模式。


3. 它是安全的

Git 存儲所有文件內容,包括版本和目錄之間的關係,使用 SHA1 作為其主題標籤算法進行加密。 任何意外或惡意的代碼更改都是完全可追溯的。


4. 開源

作為開源,Git 是免費的,享有良好的社區支持,不斷審查質量,並為學習者提供大量文檔和教程的支持。


5. 更快的發布

Git 的分佈式開發以及輕鬆的分支和新功能創建鼓勵開發人員在敏捷工作流中進行更頻繁的更改

Git - 分佈式架構

Git - 分佈式架構

Git 最佳實踐

  • 新項目? 新倉庫

為您想要開始工作的每個新項目創建一個新的 repo 具有良好的組織意義。 完成後,將其推送到 GitHub。

  • 新功能? 另闢蹊徑

現在您已經創建了一個新項目,如何創建一些新的 Git 功能? Git Branching 可讓您在存儲庫中創建和管理有組織的工作流。 可以為團隊成員分配不同的 Git 分支,允許他們以隔離的方式同時工作。 總是給你的 git 分支一個有意義的,這樣其他人就知道你在做什麼。

  • 與時俱進,開始新的一天

在開始處理您創建/分配給您的功能之前,始終“重新設置”或獲取最新版本的項目(主)。 您不想對過時的文件進行更改。

  • 有定期檢查點

不要為了大的改變而保存你的提交。 經常“提交”小的更改,以便您和您的團隊成員更容易理解代碼。 當更改很小且頻繁時,恢復和跟踪也更容易。

  • 藏好你的作品

通常,您可能會遇到這樣的情況:您正在一個 Git 分支上工作,但您突然想起您需要在另一個分支上工作,但不想“提交”那些半完成的更改。 或者您可能只是想要一個乾淨的工作副本。 “git stash”來救援。 存儲讓您可以將未完成的更改保存在堆棧中,您可以隨時返回!

  • 壓扁他們提交

在您的歷史記錄中減少提交可以更輕鬆地監控和跟踪您出錯的地方。 如果你想保持一個乾淨的提交歷史,這個是給你的。 合併拉取請求時,將所有提交合併為一個。

  • 提交消息

始終在提交消息中提供清晰易懂的信息。 首先寫下您的更改的簡短摘要,留下一個空行,然後用詳細的更改說明進行跟進。 你不希望你的提交歷史最終看起來像這樣:/

git提交消息

https://xkcd.com/1296/

  • 不要改變歷史

一旦您提交了對存儲庫的更改,請不要返回並更改歷史記錄。 儘管 Git 允許您這樣做並重寫公共歷史,但這樣做從來都不是一個好習慣。 為您和您的團隊。

  • 應用 Git 補丁

有時當您沒有存儲庫的寫入權限但仍想修復錯誤時 – 應用 Git 補丁。 永遠記住克隆主存儲庫,然後為新功能創建一個分支。 準備好 .patch 文件後,請始終預覽它並進行試運行以檢查錯誤。 完成後,Git 應用補丁(git apply -R path/file.patch)。 不要忘記測試和檢查

  • 不要讓拉取請求太久

一個開放的“拉”請求遲早會產生衝突。 不要讓他們無人看管超過 2 天。 始終檢查代碼,如果可以部署,請合併拉取請求。 這不僅可以加快運輸過程,還可以避免代碼衝突。

  • 使用項目管理工具更好地組織

如果您一直在使用 Redmine 等項目管理工具,最好將它與 Git 結合使用,以便能夠更好地管理多個團隊成員及其任務。 使用 Redmine 任務作為名稱創建 Git 分支是最好的 Git 最佳實踐之一,因為它可以提高透明度和組織性。

Git項目管理工具

在 Redmine 中創建的任務

創建 git 分支

使用任務 ID 和名稱創建一個分支
  • 亞搏體育應用 CI/CD

使用像這樣的持續集成/持續部署工具可以讓您測試和檢查錯誤和錯誤,並確保與代碼標準的兼容性。 這些作業在代碼被推送到登台服務器後執行。

Gitlab CI

GitLab CI/CD 作業列表

Git 最佳實踐信息圖