不要再手動合併你的拉取請求(PR)
如果有什麼我討厭的東西,那就是當我知道我可以自動化它們時,但我手動進行了操作。只有我有這種情況麼?我覺得不是。
儘管如此,他們每天都有數千名使用 GitHub 的開發人員一遍又一遍地做同樣的事情:他們點選這個按鈕:
這沒有任何意義。
不要誤解我的意思。合併拉取請求是有意義的。只是每次點選這個該死的按鈕是沒有意義的。
這樣做沒有意義因為世界上的每個開發團隊在合併拉取請求之前都有一個已知的先決條件列表。這些要求幾乎總是相同的,而且這些要求也是如此:
- 是否通過測試?
- 文件是否更新了?
- 這是否遵循我們的程式碼風格指南?
- 是否有若干位開發人員對此進行審查?
隨著此列表變長,合併過程變得更容易出錯。 “糟糕,在沒有足夠的開發人員審查補丁時 John 就點了合併按鈕。” 要發出警報麼?
在我的團隊中,我們就像外面的每一支隊伍。我們知道我們將一些程式碼合併到我們倉庫的標準是什麼。這就是為什麼我們建立一個持續整合系統,每次有人建立一個拉取請求時執行我們的測試。我們還要求程式碼在獲得批准之前由團隊的 2 名成員進行審查。
當這些條件全部設定好時,我希望程式碼被合併。
而不用點選一個按鈕。
這正是啟動 Mergify 的原因。
Mergify 是一個為你按下合併按鈕的服務。你可以在倉庫的 .mergify.yml
中定義規則,當規則滿足時,Mergify 將合併該請求。
無需按任何按鈕。
隨機抽取一個請求,就像這樣:
這來自一個小型專案,沒有很多持續整合服務,只有 Travis。在這個拉取請求中,一切都是綠色的:其中一個所有者審查了程式碼,並且測試通過。因此,該程式碼應該被合併:但是它還在那裡掛起這,等待某人有一天按下合併按鈕。
使用 Mergify 後,你只需將 .mergify.yml
放在倉庫的根目錄即可:
rules:
default:
protection:
required_status_checks:
contexts:
- continuous-integration/travis-ci
required_pull_request_reviews:
required_approving_review_count: 1
通過這樣的配置,Mergify 可以實現所需的限制,即 Travis 通過,並且至少有一個專案成員審閱了程式碼。只要這些條件是肯定的,拉取請求就會自動合併。
我們將 Mergify 構建為 一個對開源專案免費的服務。提供服務的引擎也是開源的。
現在去嘗試它,不要讓這些拉取請求再掛起哪怕一秒鐘。合併它們!
如果你有任何問題,請隨時在下面向我們提問或寫下評論!並且敬請期待 - 因為 Mergify 還提供了其他一些我迫不及待想要介紹的功能!
via: https://julien.danjou.info/stop-merging-your-pull-request-manually/
作者:Julien Danjou 選題:lujun9972 譯者:geekpi 校對:wxy
相關文章
- Singleflight(合併請求)
- 合併HTTP請求vs並行HTTP請求,到底誰更快?HTTP並行
- 合併HTTP請求 vs 並行HTTP請求,到底誰更快?HTTP並行
- 保姆級教程 | Merge Request 分支合併請求
- GitHub 自動合併 pr 的機器人——auto-merge-botGithub機器人
- 請求合併與拆分在併發場景中應用
- 你以為你請求的就是你想請求的嗎?
- 說說你對請求數和併發數的理解
- Git多人合作,合併請求並解決衝突Git
- Git如何合併一個已經在GitHub上提交但沒有合併的Pull Request請求Github
- Java後端中的請求最佳化:從請求合併到非同步處理的實現策略Java後端非同步
- python requests get請求 如何獲取所有請求Python
- 圖資料庫|GitHub 自動合併 pr 的機器人——auto-merge-bot資料庫Github機器人
- Python!請不要再亂搞 Linux 發行版了PythonLinux
- 併發請求的重複插入問題
- 瀏覽器如何將你的http請求轉為https請求?瀏覽器HTTP
- 非同步程式設計CompletableFuture實現高併發系統優化之請求合併非同步程式設計優化
- 請你告訴我合併兩個陣列,你有多少種方法陣列
- python併發執行request請求Python
- HTTP請求的快取(Cache)機制HTTP快取
- 使用RxJava快取Rest請求RxJava快取REST
- 跟我一起動手實現Tomcat(三):解析Request請求引數、請求頭、cookieTomcatCookie
- 位元組跳動面試官:請用JS實現Ajax併發請求控制面試JS
- webpack4+node合併資源請求, 實現combo功能(二十三)Web
- [軟體推薦]Gitlab 發起合併請求,一行命令就搞定!Gitlab
- 你們不要再吵了! Java只有值傳遞..Java
- Git 一個好的拉取請求是什麼樣的Git
- 提交一個併發請求(Concurrent Program)
- WKWebView的快取策略不支援POST請求!!!WebView快取
- spring mvc中獲取請求URLSpringMVC
- 前端快取API請求資料前端快取API
- 拜託!面試請不要再問我Spring Cloud底層原理面試SpringCloud
- python收到MQTT訊息後再發http請求PythonMQQTHTTP
- 優雅的實現請求類驗證規則的重複利用(無需繼承,可適用於多個請求類的規則合併)繼承
- 情緒穩定!別再讓Git合併衝突影響你工作了Git
- jquery.validate手動呼叫校驗,便於ajax請求jQuery
- 請求OpenFeign的GET請求時,請求為何失敗?
- 【譯】使用最新預覽版檢視您的拉請求註釋