GitHub中的Pull Request和Pulse詳解
- 2019 年 12 月 26 日
- 筆記
Pull Request
Pull Request是用戶修改代碼後向對方倉庫發送採納的請求功能,也是GitHub的核心功能,正式因為有了這個功能,才會讓眾多開發者輕鬆地加入到開源開發的隊伍中來。

1.png
在Pull Request界面能查看當前處於Open狀態的Pull Request。通過點擊列表上方的頁面特定的Pull Request就會進入詳細頁面選項可以重新篩選和排列。點擊列表中特定Pull Request就會進入詳細頁面。

2.png
頁面上方(紅框)顯示着這次時從誰的哪個分支向誰的哪個分支發送Pull Request。我們接着看每一個標籤頁的功能。
Conversation(談話、會話)
在Conversation標籤頁中,可以查看與當前Pull Request相關的所有評論以及提交的歷史記錄。人們在這裡添加評論互相探討,發送提交落實討論內容的整個過程會按時間順序排列,提交日誌的右側會有該提交的哈希值(HashCode),點擊鏈接即可進入該提交的詳細信息。
小技巧:R鍵引用評論 在Conversation中人們通過添加評論進行對話,這裡有一個簡單的方法可以幫助你引用一個人的評論。選中想引用的評論文字後按R鍵,杯選擇的部分就會自動以評論語法寫入評論文本框。該技巧在Issue中同樣適用。

3.png
Commits(提交)
在Commits標籤頁中,按時間順序列表顯示了與當前Pull Request相關的提交。標籤上的數字為提交次數。每個提交右側的哈希值可以連接到該提交的代碼。

4.png
小技巧:在評論中添加表情 GitHub的文化中有使用表情的習慣,不止中國人喜歡在QQ上用表情,老外其實更早更習慣用表情。表情種類繁多,要一次全記下來是否困難。這時候我們可以利用表情的自動補全功能了。
在評論中輸入「:」(冒號)便會開啟表情自動補全功能,只要輸入幾個與該表情相關的字母,系統就會為你篩選自動補全的對象。

5.png
Files Changed(文件變化)
Files Changed表情頁中可以產看當前Pull Request更改的文件內容以及前後差別。標籤上的數字表示新建及被更改的文件數。
默認情況下系統會將空格不同也高亮顯示,所以在空格有改動的情況下會難以閱讀。這時候只需要在URL的末尾添加「?w=1」就可以不顯示空格的差別。
將鼠標指針放到被更改行號的左側,我們會看到一個加號。點擊這個加號可以在代碼中插入評論,這樣,評論時針對哪一行代碼就一目了然了。

6.png
Pulse(活躍度)
Pulse是體現該倉庫軟件開發活躍度的功能。近期該倉庫創建了多少個Pull Request或Issue,有多少人參與了這個倉庫的開發等,都可以在這裡一目了然。
根據這個頁面,用戶可以判斷目前這個軟件是否正在被積極開發,或者有倉庫修改權限的人是否在認真地進行BUG修正等維護工作。在GitHub選軟件時,它可以作為一個重要的衡量標準。

7.png
active pull request
在頁面中Overview的左邊部分顯示了特定期間內活動過的Pull Request數。上圖中有6個Pull Request,其中2個被採納,其餘4個仍然保持Open狀態,剩餘的這4個Pull Request將來要麼會被採納要麼會被Close。
如果想查看清單的詳細內容,只要點擊對應項目即可。Pull Request的概要及鏈接按照合併的先後順序排列。下圖是以合併的Pull Request的概要及鏈接。

8.png
active issue
在頁面中Overview的右邊部分顯示了特定時期內活動過的Issue數。上圖中有35個Issue,其中26個被Close,其餘9個為Open狀態。
如果想查看清單詳細內容,只要點擊對應項即可。Issue的概要及鏈接按照Close的先後順序排列。
點擊new issue則可以按創建的先後順序查看Issue的概要及鏈接。 通過觀察Issue的整體動向,用戶能夠知道這個軟件是否有人在積極地維護與支持。對方倉庫是否活躍,用戶發送的BUG報告和相關探討越可能收到回應。
commits
Overview下方顯示的是與提交相關信息。左側部分包含了如下幾類信息,以上圖為例: 編寫過代碼的人數(3個) 提交的次數(18次) default branch 中修改過的文件數(3個) default branch 中添加的行數(139) default branch 中刪除的行數(230)
通過這些信息,用戶可以大致把握該倉庫中活躍開發者的人數。另外,右側圖標顯示了這些開發者具體發送的提交數。
Unresolved Conversation

9.png
這個部分,列出的Issue和Pull Request都創建於Period指定的時間之前,它們都尚未Close並且仍有人參與評論。一般情況下,倉庫中軟件的重大事項討論都會持續很長時間,所以這些討論大多放在這裡。其中會有不少關於該軟件今後的發展方向的討論。