Git —— 分散式版本控制系統的使用體驗
Git —— 分散式版本控制系統的使用體驗
1、前言——認識Git
什麼是Git?用作者的話來說,Git是一套系統,是一種規範,用於一個或多個專案的一體式DevOps平臺。對於多人協作開發,這套系統帶來的程式碼同步在其中能夠起到巨大的作用,它的出現,能夠讓所有人的程式碼保持最新的狀態,能夠同時開發多個版本,例如alpha、beta等等。同時,它在某種意義上又是一種快照,能夠迅速恢復到之前可以執行的狀態,防止程式碼遭遇“毀滅性”破壞或是突然無法編譯執行。
目前,市面上有著許多Git的實現方式,這裡介紹兩大較為主流的現成的程式碼託管平臺,它們是:
- GitHub https://github.com/
- Gitee https://gitee.com/
還有一種用於擁有獨立伺服器的團體或個人,往往是為了安全考慮,即GitLab,它需要自己在Linux上搭建執行環境,能夠對自己所在的環境做個性化的設定,這裡就不多做介紹了。
為了保證連線上的穩定,本文將使用Gitee作為程式碼託管平臺,IDE使用IntelliJ IDEA 2022.1。
2、如何使用?
倉庫的使用有兩種方式,一種是使用IDE直接新建倉庫並推送,另一種如下文所示,在手動建立倉庫後在IDE內推送,適用於IDE不支援的程式碼託管平臺。由於篇幅有限,本文將只介紹一些主要功能,倉庫的推送&克隆。
倉庫建立
來到Gitee的官方網站,註冊賬號後來到工作臺,點選頭像左側的加號,選擇新建倉庫就會來到以下頁面。
輸入名稱和路徑,這裡推薦使用全英文輸入,因為輸入中文可能會導致一些奇奇怪怪的bug。
由於要使用現成的程式碼,因此不勾選下面的三個選項,倉庫名稱和路徑上也和即將使用的專案上保持一致。
推送專案前需要在計算機上安裝Git軟體 安裝方法:https://git-scm.com/book/zh/v2/起步-安裝-Git/
然後來到個人設定,在SSH公鑰中根據網站指引使用郵箱和剛剛安裝好的Git軟體新增一個新的公鑰,由於隱私問題該過程將省略,新增完成後可以在Git Bash中使用以下程式碼測試是否成功,其中@後的內容為託管平臺的域名,根據實際需要改變。
ssh -T [email protected]
來到建立好的倉庫頁面,選擇SSH並複製連結。
倉庫推送
開啟需要推送的倉庫,在選單欄中選擇VCS - 建立Git倉庫,IDE將自動選擇專案路徑,點選確定即可。
此時,IDE將自動生成.gitignore檔案,它用於在推送整個倉庫時,避免上傳一些不需要的檔案(包括但不限於編譯生成的檔案,IDE的專案設定等),從而增加倉庫大小,造成不必要的空間浪費同時增加了協作人的克隆倉庫的速度,螢幕上方的VCS也變成了Git,再次開啟該選單,選擇管理遠端,輸入前面複製的SSH連結後點擊確定。
推送前我們還要將程式碼提交,提交的作用相當於儲存一個快照,還是在Git選單中,選擇提交,輸入提交內容(一般是寫了什麼,例如初始化倉庫,修復了xxx的bug等),選擇提交併推送即可,若報錯,可選擇仍然提交併推送。
回到網頁,可以在倉庫中看到剛剛推送的檔案。
倉庫克隆
開啟IDEA,在主頁的右上角選擇“從VCS獲取”即可來到如下頁面,URL中填寫他人分享的連結,或是點開自己倉庫中的橙色按鈕(克隆/下載)複製連結,選擇本地目錄後點擊克隆即可將倉庫克隆到本地。
術語解釋
推送(push):將整個專案上傳到程式碼託管平臺。
克隆(clone):將他人分享(或是自己)的專案下載到本地以供開啟。
提交(commit):將當前專案打包到本地倉庫暫存等待推送。
3、結語
本次體驗即將告一段落,Git的使用遠不止上文所提到的內容,它的進階玩法還有很多很多,包含:
- 利用GPG金鑰給自己的程式碼簽名,用於公共倉庫中給別人看到是程式碼作者提交的修改。
- 建立不同的分支,對多個版本進行並行開發。
- 所有人都能建立Issue,可以說明當前程式中有什麼bug或是開發者即將開發的功能。
- 若是在有人沒有及時更新本地的程式碼,導致和雲端不同步使得不能推送自己辛辛苦苦改的程式碼時,合併(merge)功能的使用。
- 他人克隆你的倉庫後做出的一些修改可以使用Pull Request合併程式碼。
- ……
作為一個程式碼託管平臺,除了以上提到的最基礎的功能外,它能做的還有很大空間等待著我們的探索,合理正確的使用能夠最大化工作效率,從而為團隊開發帶來極佳的效果。