1. 程式人生 > 其它 >Git —— 分散式版本控制系統的使用體驗

Git —— 分散式版本控制系統的使用體驗

Git —— 分散式版本控制系統的使用體驗

1、前言——認識Git

什麼是Git?用作者的話來說,Git是一套系統,是一種規範,用於一個或多個專案的一體式DevOps平臺。對於多人協作開發,這套系統帶來的程式碼同步在其中能夠起到巨大的作用,它的出現,能夠讓所有人的程式碼保持最新的狀態,能夠同時開發多個版本,例如alpha、beta等等。同時,它在某種意義上又是一種快照,能夠迅速恢復到之前可以執行的狀態,防止程式碼遭遇“毀滅性”破壞或是突然無法編譯執行。

目前,市面上有著許多Git的實現方式,這裡介紹兩大較為主流的現成的程式碼託管平臺,它們是:

還有一種用於擁有獨立伺服器的團體或個人,往往是為了安全考慮,即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合併程式碼。
  • ……

作為一個程式碼託管平臺,除了以上提到的最基礎的功能外,它能做的還有很大空間等待著我們的探索,合理正確的使用能夠最大化工作效率,從而為團隊開發帶來極佳的效果。