Git 使用簡介

Jack Wallen發表於2018-09-22

我將向你介紹讓 Git 的啟動、執行,並和 GitHub 一起使用的基礎知識。

如果你是一個開發者,那你應該熟悉許多開發工具。你已經花了多年時間來學習一種或者多種程式語言並打磨你的技巧。你可以熟練運用圖形工具或者命令列工具開發。在你看來,沒有任何事可以阻擋你。你的程式碼, 好像你的思想和你的手指一樣,將會建立一個優雅的,完美評價的應用程式,並會風靡世界。

然而,如果你和其他人共同開發一個專案會發生什麼呢?或者,你開發的應用程式變地越來越大,下一步你將如何去做?如果你想成功地和其他開發者合作,你定會想用一個分散式版本控制系統。使用這樣一個系統,合作開發一個專案變得非常高效和可靠。這樣的一個系統便是 Git。還有一個叫 GitHub 的方便的儲存倉庫,用來儲存你的專案程式碼,這樣你的團隊可以檢查和修改程式碼。

我將向你介紹讓 Git 的啟動、執行,並和 GitHub 一起使用的基礎知識,可以讓你的應用程式的開發可以提升到一個新的水平。我將在 Ubuntu 18.04 上進行演示,因此如果您選擇的發行版本不同,您只需要修改 Git 安裝命令以適合你的發行版的軟體包管理器。

Git 和 GitHub

第一件事就是建立一個免費的 GitHub 賬號,開啟 GitHub 註冊頁面,然後填上需要的資訊。完成這個之後,你就注備好開始安裝 Git 了(這兩件事誰先誰後都可以)。

安裝 Git 非常簡單,開啟一個命令列終端,並輸入命令:

sudo apt install git-all

這將會安裝大量依賴包,但是你將瞭解使用 Git 和 GitHub 所需的一切。

附註:我使用 Git 來下載程式的安裝原始碼。有許多時候,內建的軟體管理器不提供某個軟體,除了去第三方庫中下載原始碼,我經常去這個軟體專案的 Git 主頁,像這樣克隆:

git clone ADDRESS

“ADDRESS” 就是那個軟體專案的 Git 主頁。這樣我就可以確保自己安裝那個軟體的最新發行版了。

建立一個本地倉庫並新增一個檔案

下一步就是在你的電腦裡建立一個本地倉庫(本文稱之為 newproject,位於 ~/ 目錄下),開啟一個命令列終端,並輸入下面的命令:

cd ~/
mkdir newproject
cd newproject

現在你需要初始化這個倉庫。在 ~/newproject 目錄下,輸入命令 git init,當命令執行完,你就可以看到一個剛剛建立的空的 Git 倉庫了(圖1)。

new repository

圖 1: 初始化完成的新倉庫

下一步就是往專案裡新增檔案。我們在專案根目錄(~/newproject)輸入下面的命令:

touch readme.txt

現在專案裡多了個空檔案。輸入 git status 來驗證 Git 已經檢測到多了個新檔案(圖2)。

readme

圖 2: Git 檢測到新檔案readme.txt

即使 Git 檢測到新的檔案,但它並沒有被真正的加入這個專案倉庫。為此,你要輸入下面的命令:

git add readme.txt

一旦完成這個命令,再輸入 git status 命令,可以看到,readme.txt 已經是這個專案裡的新檔案了(圖3)。

file added

圖 3: 我們的檔案已經被新增進臨時環境

第一次提交

當新檔案新增進臨時環境之後,我們現在就準備好建立第一個提交commit了。什麼是提交呢?簡單的說,一個提交就是你更改的專案的檔案的記錄。建立一個提交也是非常簡單的。但是,為提交包含一個描述資訊非常重要。透過這樣做,你可以新增有關該提交包含的內容的註釋,比如你對檔案做出的何種修改。然而,在這樣做之前,我們需要告知 Git 我們的賬戶,輸入以下命令:

git config --global user.email EMAIL
git config --global user.name “FULL NAME”

“EMAIL” 即你的 email 地址,“FULL NAME” 則是你的姓名。

現在你可以透過以下命令建立一個提交:

git commit -m “Descriptive Message”

“Descriptive Message” 即為你的提交的描述性資訊。比如,當你第一個提交是提交一個 readme.txt 檔案,你可以這樣提交:

git commit -m “First draft of readme.txt file”

你可以看到輸出表明一個檔案已經修改,並且,為 readme.txt 建立了一個新的檔案模式(圖4)

success

圖4:提交成功

建立分支並推送至 GitHub

分支是很重要的,它允許你在專案狀態間中移動。假如,你想給你的應用建立一個新的特性。為了這樣做,你建立了個新分支。一旦你完成你的新特性,你可以把這個新分支合併到你的主分支中去,使用以下命令建立一個新分支:

git checkout -b BRANCH

“BRANCH” 即為你新分支的名字,一旦執行完命令,輸入 git branch 命令來檢視是否建立了新分支(圖5)

featureX

圖5:名為 featureX 的新分支

接下來,我們需要在 GitHub 上建立一個倉庫。 登入 GitHub 帳戶,請單擊帳戶主頁上的“New Repository”按鈕。 填寫必要的資訊,然後單擊 “Create repository”(圖6)。

new repository

圖6:在 GitHub 上新建一個倉庫

在建立完一個倉庫之後,你可以看到一個用於推送本地倉庫的地址。若要推送,返回命令列視窗(~/newproject 目錄中),輸入以下命令:

git remote add origin URL
git push -u origin master

“URL” 即為我們 GitHub 上新建的倉庫地址。

系統會提示您,輸入 GitHub 的使用者名稱和密碼,一旦授權成功,你的專案將會被推送到 GitHub 倉庫中。

拉取專案

如果你的同事改變了你們 GitHub 上專案的程式碼,並且已經合併那些更改,你可以拉取那些專案檔案到你的本地機器,這樣,你係統中的檔案就可以和遠端使用者的檔案保持匹配。你可以輸入以下命令來做這件事(~/newproject 在目錄中),

git pull origin master

以上的命令可以拉取任何新檔案或修改過的檔案到你的本地倉庫。

基礎

這就是從命令列使用 Git 來處理儲存在 GitHub 上的專案的基礎知識。 還有很多東西需要學習,所以我強烈建議你使用 man gitman git-pushman git-pull 命令來更深入地瞭解 git 命令可以做什麼。

開發快樂!

瞭解更多關於 Linux 的 內容,請訪問來自 Linux 基金會和 edX 的免費的 Introduction to Linux課程。


via: https://www.linux.com/learn/intro-to-linux/2018/7/introduction-using-git

作者:Jack Wallen 選題:lujun9972 譯者:distant1219 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出