首頁 > 軟體

Ubuntu 18.04下GitHub和Git的安裝設定入門教學

2020-06-16 16:51:09

Git是在GPL的開源許可下發布的。它可以通過網際網路免費使用。您可以使用Git來進行版本管理,而無需支付一分錢。由於它是一個開放原始碼,您可以下載其原始碼並根據您的要求執行更改。本文通過圖文並茂的形式介紹如何在Ubuntu 18.04 Linux下安裝Git,並且設定與GitHub上的倉庫連結。

Git可以說是目前世界上最先進的分散式版本控制系統,主要功能:儲存程式碼檔案,保留歷史紀錄,可以回到過去,多端共用,團隊共同作業等。

Git使用一種稱為安全雜湊函數(SHA1)的常用加密雜湊函數來命名和標識其資料庫中的物件。 每個檔案和提交都會在結帳時通過校驗和進行校驗和檢索。 這意味著,在不知道Git的情況下,不可能在Git資料庫中更改檔案,日期和提交訊息以及任何其他資料。

熟練使用Git/Github是網際網路公司程式設計師的必備技能之一。當開發中遇到困難或者職業技能遇到瓶頸時,Github簡直是相見恨晚的利器,身為一線開發者,如果沒有接觸過Github,的確是一大損失。

考慮到很多Linux公社的網友可能對版本控制工具和Linux命令列工具都不是非常了解,我寫了一個簡單的文章來讓大家學會入門使用方法。本課程就將帶領大家敲開Git與Github的大門。

第一部分:GitHub相關基礎知識

GitHub的簡單使用與建立GitHub賬號 請參考https://www.linuxidc.com/Linux/2015-02/114121.htm

接著建立一個GitHub開發者應用

1. 點選右上角你的頭像,在下拉式選單中選擇Settings。

2. 在左邊的Personal settings(個人設定)中選擇OAuth Apps。

 

3. 點選上圖中的綠色按鈕Register a new application,填寫應用名稱,你的主頁,應用描述和回撥URL。

4. 點選上圖中的綠色按鈕Register applciation註冊應用,註冊成功後,記住下一頁中的Client ID和Client Secret值。

OK,現在你就可以使用此Client ID和Client Secret做GitHub三方登入了。

第二部分:Git相關基礎知識

Ubuntu Linux下安裝Git很簡單

使用命令apt-get來安裝

linuxidc@linuxidc:~$ sudo apt install git

設定使用者名稱密碼

linuxidc@linuxidc:~$ git config --global user.name "linuxidc"
linuxidc@linuxidc:~$ git config --global user.email root@linuxidc.net

此時,Home目錄下會新建一個.gitconfig檔案

為GitHub賬號新增SSH Keys

1.生成Keys

linuxidc@linuxidc:~$ ssh-keygen -t rsa -C "root@linuxidc.net"

輸出如下範例:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/linuxidc/.ssh/id_rsa):
/home/linuxidc/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/linuxidc/.ssh/id_rsa.
Your public key has been saved in /home/linuxidc/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:SJzejSuID3eygvca1i7Ci+TqTIbxWcXULnw949ZXyMM root@linuxidc.net
The key's randomart image is:
+---[RSA 2048]----+
|      ..        |
|    + ..        |
|    .*. .  . o |
|    +oooo+  E .|
|.  . ooS..+  o |
|.o.= .  .o . .  |
|o**.o . ..  .  |
|@o+= . .        |
|BO*+o            |
+----[SHA256]-----+
linuxidc@linuxidc:~$

系統會提示key的儲存位置(一般是~/.ssh目錄)和指定口令,保持預設,連續三次迴車即可

2.複製SSH Key到GITHUB

開啟該檔案,id_rsa.pub檔案內的內容,粘帖到github帳號管理的新增SSH key介面中

linuxidc@linuxidc:~$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDRTOMUbHoY8yr6fyYE43pL3bD7VUz9FvlGzi3ACX4jYeUcaPM+Ni5XBtM1ZPD1l1EN0fCNrSpR1Y1sw4dJzbeE9JFM/iLTugFyUaxaLcNPpqXkR4uxipheeM5aIg+523Lm2oR7HeImORjHPr2SN5ZR/YbLecMxhDbx3rAbeYYNtxBE9c9kRF0m0gyLneCo8HxIZz+9wXK2G/B5eZEpnG/8zWkGkCwRB16J6JeWF+9kjwohxXTtZHDjXSt8VysW0EFRkxjxSk5JOTPgPtJOPDKfmXWsw47OeY3gRJHCb4BCMxBvlU341Ncp/rYP/S9bWuUDWHCt8rkGoRXF/6LKw9FD root@linuxidc.net

登入github-> Settings-> SSH and GPG Keys-> New SSH key新增

3.測試是否連線成功

linuxidc@linuxidc:~$ ssh -T git@github.com

輸出如下範例:

The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes

直接輸入 yes 就可以了,然後提示成功:

Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts.
Hi linuxidc! You've successfully authenticated, but GitHub does not provide shell access.

第二部分:建立一個本地linuxidc倉庫

1. 在命令列輸入 linuxidc@linuxidc:~$ mkdir linuxidc,建立一個新資料夾。你可以使用ls命令來檢視當前目錄下有哪些檔案和資料夾。

linuxidc@linuxidc:~$ ls
Desktop                                Music                www.linuxidc.com
Documents                              n                    公共的
Downloads                              newrepo              模板
go                                      n.pub                視訊
google-chrome-stable_current_amd64.deb  Pictures              圖片
hello-word                              Public                文件
linuxidc                                readme.txt            下載
linuxidc.com                            snap                  音樂
linuxidc.com.gif                        teamviewer_amd64.deb  桌面
linuxmi                                Templates
Linux公社                              Videos

2. 輸入cd命令進入新資料夾,注意在輸入命令時,你可以用Tab鍵來自動補全。

linuxidc@linuxidc:~$ cd linuxidc

3. 輸入git init初始化Git倉庫。此時用ls -a檢視當前目錄,可以看到多了一個.git/的資料夾,此資料夾儲存了版本控制的所有相關資訊。

linuxidc@linuxidc:~/linuxidc$ git init
已初始化空的 Git 倉庫於 /home/linuxidc/linuxidc/.git/
linuxidc@linuxidc:~/linuxidc$ ls -a
.  ..  .git

注意,在此處使用的所有命令,如果你是在Linux環境下開發,用法都是完全一樣的。所以對於完全沒有Linux使用經驗的學員,這也是一個開始接觸Linux工作方式的好方法。

接下來,讓我們建立一份簡單的說明檔案,並提交到版本庫中。

4. 輸入echo "This is a simple practise" > readme.txt,建立一個readme.txt檔案。

1-4步截圖如下:

5. 輸入git status檢視當前版本庫狀態,在Untracked files(未跟蹤檔案)下,會出現紅色的readme.txt,代表此檔案還未被Git所管理。

6. 使用git add readme.txt,將該檔案加入緩衝區,如果你確定所有的修改都需要提交,可以使用git add .來加入所有修改。現在用git status檢視,將看到檔名變為綠色。

7. 使用git commit -m "This is my first commit via Git!"來提交修改,-m後面所帶的引數是本次提交資訊,一般用來記錄本次提交的主要意圖。

8. 提交成功後,可以用git log檢視歷史提交記錄。每個記錄都會有提交id,作者和提交日期。

9. 你可以用git branch檢視當前有哪些分支,當然,因為我們沒有建立任何分支,目前只會有一個master分支。

10. 使用git checkout -b feature建立一個名為feature的分支,再用git branch檢視一下。

以上是最最基本的Git操作,大家可以在此linuxidc專案中隨意嘗試各種其他Git命令,最好的參考資料是Pro Git book,PDF下載見 https://www.linuxidc.com/Linux/2013-05/85066.htm

注意:學會Git的唯一方式是在實際使用中學習,切記不要嘗試先記住一大堆理論知識或者Git命令。

第三部分:專案的下載,檢視和修改

第一步. 從GitHub上下載我們的專案程式碼。

1. 以linuxidc專案為例,點選綠色按鈕Clone or download,然後在彈出視窗中點選剪下板圖示,複製倉庫的URL。

2. 在git bash中下載專案原始碼。

linuxidc@linuxidc:~/linuxidc$ git clone https://github.com/linuxidc/linuxidc.git
正克隆到 'linuxidc'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
展開物件中: 100% (3/3), 完成.

第二步. 檢視版本歷史

1. cd到專案資料夾下,使用git log能看到我們的歷史提交記錄。

2. 要回到某一歷史版本,可以使用git checkout commitId,看完後要回到最新程式碼,使用git checkout master

第三步. 本地修改程式碼

你可以在我們的程式碼基線上任意修改,但為了下載新程式碼時不出現衝突,請遵循以下步驟:

1. 下載新程式碼:git pull

2. 從master出撿出一個新的分支:git checkout -b feature。feature是分支名稱,你可以隨意取名,但請用英文。

3. 在feature分支上隨意修改,改完後你可以提交你的修改:git commit -m "some message"

4. 此時要同步程式碼,請先切回主分支:git checkout master,然後更新git pull

5. 如果想刪除自己建立的分支,使用git branch -D feature,注意執行此命令後分支被強制刪除,無法恢復。


IT145.com E-mail:sddin#qq.com