iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 14
1
Software Development

Kotlin for Android系列 第 14

Day 14. Android Studio x 版本控制 & Git - 2/2

  VSC > Commit 是正式的將程式碼認可至指定的版本控制服務上,首先看上半部,這邊會顯示從上次認可到目前最新變動清單,新增加的檔案會以綠色標示,內容有修改的以藍色,刪除的檔案為灰色,尚未列入 (或選擇不列入) 版控的檔案會以紅色標示。Commit Message 則是讓你輸入每次認可的描述,為了避免未來的你搭乘時光機回來把自己痛打一頓,請維持良好的說明習慣,對於未來在查詢記錄時很有幫助。

https://ithelp.ithome.com.tw/upload/images/20181028/20111944jkF2SXjt6N.png


  右上角 Git 欄位可以輸入編輯者的名稱,或勾選 Sign-off 會自動帶入資訊,可以將滑鼠移至 Sign-off commit 這段文字標籤上,會有提示文字出現,上面顯示將自動加入的簽名文字,一個簽名以示負責的概念,系統初始預設是沒有勾選的。

https://ithelp.ithome.com.tw/upload/images/20181028/20111944j7SZAH49WB.png


  Before Commit 則可以讓你選擇在認可前由程式自動幫你做某些工作,依序為:

1. 重新格式化
2. 重新排序
3. 移除冗餘的 import 行
4. 程式碼分析
5. 檢查認可中的 TODO 註解 (下一張圖片說明)
6. 自動依照程式碼分析建議清理
7. 更新版權所有資訊

  字面上的意思都能明白用途,這邊不一一說明,前五項作者覺得可以勾選起來,第六及第七就讓大家自行決定了。

https://ithelp.ithome.com.tw/upload/images/20181028/20111944Avtf3I0c2I.png

  上面提到的檢查 TODO 指的是一種註解的特殊註記法,使用方式為 // TODO,完全大寫,使用這樣的備註方式,為了提警自己或他人,這段程式尚未完成,還有待加入其它內容,在認可時系統會提醒尚未完成的 TODO (完成後,記得把 TODO 備註刪除)。

https://ithelp.ithome.com.tw/upload/images/20181028/201119444RHzsRe4R1.png


  下半部則是 Git 上最新版與本機版本的差異,Diff 編輯器會自動將差異的部分標示出來,一般情況下若是在同一個檔案但不同程式段落增修程式碼時,並不會產生衝突,編輯器會自動判斷合併,當然合併的部分也會幫你標示出來,可以人工取消合併。但若其他人同時修改到相同部分而程式無法自動判斷時,就會發生衝突,這時就一定要由人工判斷抉擇,確定要保留的衝突版本後才能將變更認可。

https://ithelp.ithome.com.tw/upload/images/20181028/20111944fZUQiCDhO2.png

  在 Diff 視窗中,前五個按鈕分別是:

1. 移動至上一段差異
2. 移動至下一段差異
3. 移動至上一個檔案
4. 移動至下一個檔案
5. 在編輯器中開啟原始檔編輯,讓你可以快速的進行版本確認的動作

  最後就可以按下 Commit 將本次變更認可到本機上,認可時也會進行剛剛選擇的檢查,如下所示。

https://ithelp.ithome.com.tw/upload/images/20181028/20111944PdOHPhRyu2.png

  作者這邊受限於設備因素沒辦法展示多人編輯衝突,各位可以參考:Git Merge Conflicts: Android Programming影片中有清楚的展示衝突畫面,和解決合併的方式。

Yes


  不過本機上的版本控制是不夠的,在多人開發環境你會將變更推送到 Git Server 上,有關伺服器的架設資訊因為牽涉到主機作業系統的不同,有太多選擇,這邊就不多做介紹,重點關注在如何設定 Android Studio 將變更推送至遠端上。

  首先在剛剛 Commit 按鈕右側有個下拉選項,點擊後會看到 Commit and Push (推送),選擇這個項目等待 Commit 至本機完成,或也可以在上方選單 > VCS > Git > Push (Ctrl + Shift + K),就會看到 Push Commits 操作視窗,如圖二。

https://ithelp.ithome.com.tw/upload/images/20181028/20111944wf1qE9P8Dr.png

https://ithelp.ithome.com.tw/upload/images/20181028/20111944w0dHj4PyLI.png

  首次使用會需要輸入遠端伺服器的連線資訊,NameURL 可在版本控制伺服器的儲存庫管理中查看,或請教該系統管理員,定義好連線資訊後,出現認證畫面輸入帳號密碼 (或其他認證方式),輸入後就會自動記錄。日後想修改連線資訊可在 Menu > VSC > Git > Remotes 修改,若有新的成員加入,則可以使用 Git > Pull 從伺服器將專案下載到本機中展開工作。

https://ithelp.ithome.com.tw/upload/images/20181028/20111944ipPYeqQSpU.png


  Git > Show History 可以查看伺服器上的變更記錄,Compare with 可以比對本機與伺服器版本,Revert 則是將本機檔案復原成伺服器版本,其他還有很多進階操作如:Branches (分支)、Reset HEAD (重置)、Clone (建立複本)、Fetch (遠端分支),這些版控精隨可在資料參考第二點:如何使用版本控制系統-進階篇,附上一個清楚的教學網站,內容有許多圖解方便你理解抽象的概念。

  今天的課程就到這邊,明天會開始進入介紹 Android 開發版面配置的一些操作方法,我們明天見!


資料參考

Git Merge Conflicts: Android Programming
https://www.youtube.com/watch?v=RxunYSzMNKM

如何使用版本控制系統-進階篇
https://backlog.com/git-tutorial/tw/stepup/stepup1_1.html

Kotlin 官方程式語言手冊
https://kotlinlang.org/docs/reference/


上一篇
Day 13. Android Studio x 版本控制 & Git - 1/2
下一篇
Day 15. Android Layout 版面設計-1/4
系列文
Kotlin for Android30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言