1. 程式人生 > >Git 系列文章(二)—— Git 基本用法

Git 系列文章(二)—— Git 基本用法

正文之前

上一篇文章簡單介紹了 Git 和 GitHub,這一篇文章用一個倉庫來作為例子介紹 Git 的基本用法,而不是單純地列出每一條 Git 命令

這篇文章來自我的部落格

正文

1. 倉庫的初始操作

初始化

首先我先在本地存放 GitHub 倉庫的資料夾裡新建一個資料夾,叫 “Git-test”

現在這還只是一個普通的空資料夾,所以在這個資料夾裡開啟 Git Bash:

要想把一個空的資料夾變為 GitHub 的倉庫,首先我們要用 Git 初始化這個倉庫:

git init

雖然在初始化完倉庫之後,資料夾內看上去沒有變化,但是這個資料夾裡有一個 .git 目錄,預設是隱藏的,開啟隱藏檔案之後就可以看見:

檢視倉庫狀態

檢視一下這個倉庫的狀態:

git status

新增檔案

首先我先在倉庫裡建立一個帶有一個詞 “test” 的 README.md

然後檢視倉庫狀態會發現有了變化:

處於未提交狀態的檔案都被歸為 Untracked files

提交的過程有兩步,先向暫存區中新增檔案,然後提交

首先我們將 README.md 檔案提交到暫存區:

git add README.md

如果你想要向暫存區新增所有變動的檔案,那就用:

git add .

然後我們檢視一下倉庫狀態:

Changes to be committed 中的檔案都是已經暫存,但是沒有提交的檔案

接下來我們提交檔案:

git commit -m 'Update README.md'

-m 後面跟的是這次提交的資訊,相當於概述

有的人會想問,README.md 在提交之前就已經在我的倉庫裡了,為什麼還要提交呢?

因為倉庫的最終目的是對外開放,你自己的本地倉庫的改動如果不提交,不推送,GitHub 上的遠端倉庫裡是不會有變化的,其他人看不到你所做的改動,關於提交到遠端倉庫,下文會說明

檢視日誌

在多人協作時,通常需要檢視日誌來看看有誰對進行了提交:

git log 就會發現我剛才提交了 README.md 檔案

2. 倉庫的分支

接下來的分支是一個重要的概念,在多人協作開發時,都要用到分支

首先,在我們初始化倉庫時,有一個預設的主分支 master,如果沒有建立其他分支,那麼所有的工作都是在 master

分支上進行的,如果要建立分支:

git checkout -b newBranch

這時候會發現已經切換到我新建的分支 newBranch

-b 後面跟著分支的的名字,如果分支存在,就轉到那個分支,不存在就新建

假設要建立新的分支,那麼上面那條語句可以分成兩步來做:

git branch newBranch git checkout newBranch

先建立分支,再切換到分支

3. 遠端倉庫

到現在為止,我們對倉庫的操作都是在本地進行的,接下來說一下遠端倉庫:

首先是在 GitHub 上建立一個倉庫,名字與上面的本地倉庫一樣:

為了寫部落格用,這個 Git-test 倉庫是私有倉庫(用學生郵箱開的)

在你建立完之後,會有提示頁面:

我們要在這個倉庫作為本地倉庫的遠端倉庫,簡單地說,就是把我們本地的 Git-test 倉庫和 GitHub 上的遠端倉庫 Git-test 關聯起來

推送內容至遠端倉庫

我們選擇第一種方式,初始化、新增 README.md 和 提交更改都已經完成了,現在我們新增遠端倉庫,複製 SSH,在命令列使用:

git remote add origin [email protected]:lihanxiang/Git.test.git

執行完這個命令之後,Git 就會根據 [email protected]:lihanxiang/Git.test.git 來將我們剛才建立的倉庫設定為本地倉庫的遠端倉庫,名稱為 origin

這個名稱 origin 和我們在 GitHub 上的倉庫名不一樣,我們在推送內容時,填寫的名稱是我們在設定遠端倉庫時指定的名字

然後將本地倉庫的內容推送至遠端倉庫的 master 分支:

git push -u origin master

然後在 GitHub 上重新整理一下倉庫的頁面:

這時候我們已經將本地倉庫的內容推送至遠端倉庫了

從遠端倉庫獲取內容

如果我直接在遠端倉庫的 master 分支新建一個檔案,在對本地倉庫進行操作時,就需要先獲取遠端倉庫的新的內容:

git pull origin master

4. 總結

上面說的是 Git 的基本操作,在這些方法中,有幾個是最常用的:

git init git status git checkout git add git commit git pull git push

後四步一般是連在一起的

這只是簡單介紹了一下 Git,下一篇文章將講述分支的相關操作