2020 年 6 月 4 日

IT Skills 波林

Polin WEI – 資訊工作者的技術手札

程式版本控制 on GitHub or Gitee or Bitbucket or GitLab

1 min read

程式版本控制 on GitHub or Gitee or Bitbucket or GitLab

版本控制(Version control)在 WIKI 維基百科的說明是維護工程藍圖的標準作法,能追蹤工程藍圖從誕生一直到定案的過程。此外,版本控制也是一種軟體工程技巧,藉此能在軟體開發的過程中,確保由不同人所編輯的同一程式檔案都得到同步。

 

  1. 版本控制說明
  2. 一個全新的專案如何建立
  3. 將已有的地端專案上傳到雲端 GitLab 的雲端程式碼管理庫
  4. Personal Access Tokens
  5. 建立一個雲端儲存庫 ( Repository ) 常會用到的 git 指令

 

版本控制說明:

一個專案常常是同時多人在開發,因此程式的版本控制 ( 又稱:程式碼管理庫 ) 是必要的,就算是個人獨立開發,版本控制也能為您記錄所有的過程,凡走過必留痕跡,應該是對版本控制最好的註解,版本控制」可以分成「主機端 (雲端)」與「用戶端 (地端)」來作說明。

  • 「主機端 (雲端)」

在 Free 免費資源的方面有 GitHub 或  BitbucketGiteeGitLab,雖然 GitHub 在 2018 年已經賣給了微軟,但它仍是個不錯的選擇,目前 GitHub費用 在官方的說明是:提供 3 collaborators for private repositories 且 Unlimited public & private repositories ; 而 Bitbucket費用 上在官方的說明是:提供 5 collaborators for private repositories 且 Unlimited public & private repositories 。雙方較勁相當濃厚。另外 GitLab費用 上在官方的說明是:Unlimited private and public projects and unlimited collaborators,且有 10G 的免費空間 ,真是便宜又大碗。至於 Gitee 碼雲則是架設於中國,個人免費且私有倉庫( private repositories )也免費,並且擁有 5G 免費倉庫。

  • 「用戶端 (地端)」

的工具也有很多,但通用的大致可以分為 SVN (Apache Subversion) 或 Git 兩種,小型專案人數若不多,使用 SVN (Apache Subversion) 就足夠用了,但若是大型專案呢? 那建議使用  Git 應該會是個好選擇。現行有很多 IDE 工具整合了這工具,例如:微軟推出免費開源版的 Visual Studio Code ,它支援了跨平台的作業系統 ( Windows、Linux、Mac)。還有 Eclipse 是一個老牌子的 IDE 工具,尤其是在開發 Java 程式時,更是不可或缺的工具,它可以外掛許多插件,提升開發效率,可惜的是由於 Oracle 甲骨文買了它後,Java JDK 變成要收費,其它 IBM、Google…也不買單,變得有點動態不明,不過現在可以使用 RedHat 的 OpenJDK 作替代 ,Spring Boot Development Environment Setup就是用 OpenJDK 來作開發環境。

接下來,這裡要使用的是 GitLab 的 雲端程式碼管理庫,以及 Git 工具來搭配, 一般常會有的狀況是:「一個全新的專案」 及 「將已有的地端專案上傳到雲端 GitLab 的雲端程式碼管理庫」,下面的流程操作將分別說明。

 

  • 一個全新的專案

先建立一個新的 Project: mylib

gitlab-create-a-project

初始專案:勾選「Initialize repository with a README」

gitlab-project-mylab

建立完專案: mylib 後點選 Clone ,複制「 Clone with HTTPS」取得 URL

gitlib-project-url

在地端電腦,移動到要放置此專案的目錄下 ( Switch to your repository’s directory ),如執行下列的指令,這就完成了,很簡單不是嗎?

cd V:\git\gitlib
git clone https://gitlab.com/polin.wei/mylab.git

gitlib-git-clone-mylib

 

  • 將已有的地端專案上傳到雲端 GitLab 的雲端程式碼管理庫

建立專案,但不勾選「Initialize repository with a README」

gitlib-empty-project

建立完專案,它會告訴您,這是一個的專案

gitlib-cmd-instructions

並提示您對於新專案或是要將已有的專案上傳的指令

gitlib-cmd-push-an-existing-project

因為是已有的專案要上傳,所以要執行

cd existing_folder
git init
git remote add origin https://gitlab.com/polin.wei/mydemo.git
git add .
git commit -m "Initial commit"
git push -u origin master

在執行到最後一個指令時,它會要求輸入認證憑證….這要輸入什麼呢? 後面的 Personal Access Tokens 會有說明

gitlib-credential

輸入完 認證憑證 後,就完成所有檔案上傳了

gitlib-push-exist-project

可以在 GitLab 的雲端程式碼管理庫查看看。大功告成了….耶…收工…,哦!! 不對,還有一項未交代, Personal Access Tokens 是怎麼一回事呢?

 

gitlib-mydemo

 

 

  • Personal Access Tokens

這是為了取得開發者對於此專案有什麼權限的憑證,總不能任何人都可以修改您的專案,對吧!! 在 GitLab 裡,可以在 User Settings ->Access Tokens 中設定 Personal Access Tokens,給它一個 名字、有效存取時間及授權的範圍即可。

gitlab-personal-access-tokens

 

建立後,系統會自動產生一個隨機的 Personal Access Tokens ,請務必要記錄下來,因為它只會出現一次,若忘記的話,那麼就要再產生另一個了。

gitlib-persion-access-tokens-key

 

在最下方有所有 Personal Access Tokens 清單

gitlib-persion-access-tokens-list

GitHub 也有相同的功能哦!!

github-personal-access-tokens

 

建立一個雲端儲存庫 ( Repository ) 常會用到的 git 指令如下:

# 只查詢遠端名稱
git remote

# 遠端詳細位置
git remote -v

# 將本地儲存庫上傳
git push origin master

# 若您的程式有建立其他分支或是標籤,在push時,請改成以下指令:
git push --all
git push --tags

# 地端與遠端儲存庫建立連結,要下git remote add指令
# 若是 command line 輸入:
git remote add origin https://gitlib.com/[GitLib帳號]/[專案名].git
# 若是 Git Shell 輸入:
git remote set-url --add origin https://gitlib.com/[GitLib帳號]/[專案名].git

# 將地端的程式專案建立Git版控:
cd my-project
git init
git add --all
git commit -m "init"

# 查詢連接雲端的連結資訊
git log

 

Copyright © All rights reserved. | Newsphere by AF themes.