不要再手動合併你的拉取請求(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
相關文章
- 如何使用拉取請求(PR)來改善你的程式碼審查
- Hystrix:HystrixCollapser請求合併
- Spring Cloud Hystrix的請求合併SpringCloud
- 請不要再責怪你的程式設計師“太慢”程式設計師
- 合併HTTP請求vs並行HTTP請求,到底誰更快?HTTP並行
- 合併HTTP請求 vs 並行HTTP請求,到底誰更快?HTTP並行
- 徒手擼框架--高併發環境下的請求合併框架
- 請求合併與拆分在併發場景中應用
- 保姆級教程 | Merge Request 分支合併請求
- GitHub 自動合併 pr 的機器人——auto-merge-botGithub機器人
- 你以為你請求的就是你想請求的嗎?
- Git多人合作,合併請求並解決衝突Git
- Git如何合併一個已經在GitHub上提交但沒有合併的Pull Request請求Github
- 請求框架&移動請求框架
- 網站效能優化——DNS預熱與合併HTTP請求網站優化DNSHTTP
- 圖資料庫|GitHub 自動合併 pr 的機器人——auto-merge-bot資料庫Github機器人
- 併發請求的優先順序
- 請你告訴我合併兩個陣列,你有多少種方法陣列
- 併發請求的重複插入問題
- EBS提交併發請求的簡單例子單例
- 位元組跳動面試官:請用JS實現Ajax併發請求控制面試JS
- 非同步程式設計CompletableFuture實現高併發系統優化之請求合併非同步程式設計優化
- HTTP請求的快取(Cache)機制HTTP快取
- request的請求引數獲取方式
- 你們不要再吵了! Java只有值傳遞..Java
- 瀏覽器如何將你的http請求轉為https請求?瀏覽器HTTP
- 使用RxJava快取Rest請求RxJava快取REST
- ajax請求如何防止快取快取
- 跟我一起動手實現Tomcat(三):解析Request請求引數、請求頭、cookieTomcatCookie
- Python!請不要再亂搞 Linux 發行版了PythonLinux
- 【譯】使用最新預覽版檢視您的拉請求註釋
- [軟體推薦]Gitlab 發起合併請求,一行命令就搞定!Gitlab
- webpack4+node合併資源請求, 實現combo功能(二十三)Web
- 幫朋友找 Oracle DBA ,有合適的想跳槽的,請注意拉Oracle
- WKWebView的快取策略不支援POST請求!!!WebView快取
- 初入職場的小夥伴請注意,這 8 個坑不要再踩了
- 為什麼你應該永遠不要再使用MongoDBMongoDB
- 前端快取API請求資料前端快取API