Git 使用簡介
如果你是一個開發者,那你應該熟悉許多開發工具。你已經花了多年時間來學習一種或者多種編程語言並打磨你的技巧。你可以熟練運用圖形工具或者命令行工具開發。在你看來,沒有任何事可以阻擋你。你的代碼, 好像你的思想和你的手指一樣,將會創建一個優雅的,完美評價的應用程序,並會風靡世界。
然而,如果你和其他人共同開發一個項目會發生什麼呢?或者,你開發的應用程序變地越來越大,下一步你將如何去做?如果你想成功地和其他開發者合作,你定會想用一個分散式版本控制系統。使用這樣一個系統,合作開發一個項目變得非常高效和可靠。這樣的一個系統便是 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](/data/attachment/album/201809/22/193823ojunxnzonzbypoib.jpg "new repository")
圖 1: 初始化完成的新倉庫
下一步就是往項目里添加文件。我們在項目根目錄(~/newproject
)輸入下面的命令:
touch readme.txt
現在項目里多了個空文件。輸入 git status
來驗證 Git 已經檢測到多了個新文件(圖2)。
![readme](/data/attachment/album/201809/22/193824d3kkm1mm1927z31a.jpg "readme")
圖 2: Git 檢測到新文件readme.txt
即使 Git 檢測到新的文件,但它並沒有被真正的加入這個項目倉庫。為此,你要輸入下面的命令:
git add readme.txt
一旦完成這個命令,再輸入 git status
命令,可以看到,readme.txt
已經是這個項目里的新文件了(圖3)。
![file added](/data/attachment/album/201809/22/193824orvbbgg9f9fr8xry.jpg "file added")
圖 3: 我們的文件已經被添加進臨時環境
第一次提交
當新文件添加進臨時環境之後,我們現在就準備好創建第一個 提交 了。什麼是提交呢?簡單的說,一個提交就是你更改的項目的文件的記錄。創建一個提交也是非常簡單的。但是,為提交包含一個描述信息非常重要。通過這樣做,你可以添加有關該提交包含的內容的注釋,比如你對文件做出的何種修改。然而,在這樣做之前,我們需要告知 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](/data/attachment/album/201809/22/193825k11l4q2kgok2tgqz.jpg "success")
圖4:提交成功
創建分支並推送至 GitHub
分支是很重要的,它允許你在項目狀態間中移動。假如,你想給你的應用創建一個新的特性。為了這樣做,你創建了個新分支。一旦你完成你的新特性,你可以把這個新分支合併到你的主分支中去,使用以下命令創建一個新分支:
git checkout -b BRANCH
「BRANCH」 即為你新分支的名字,一旦執行完命令,輸入 git branch
命令來查看是否創建了新分支(圖5)
![featureX](/data/attachment/album/201809/22/193825d271bqiiji4eqg74.jpg "featureX")
圖5:名為 featureX 的新分支
接下來,我們需要在 GitHub 上創建一個倉庫。 登錄 GitHub 帳戶,請單擊帳戶主頁上的「New Repository」按鈕。 填寫必要的信息,然後單擊 「Create repository」(圖6)。
![new repository](/data/attachment/album/201809/22/193826jz32dpff3yz2n226.jpg "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 git
,man git-push
和 man 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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive