1. 程式人生 > 實用技巧 >Git 常用命令清單

Git 常用命令清單

一、基本運作流程

上圖為工作區、暫存區、本地倉庫、遠端倉庫的關係圖,接下來說一說這四個東西是什麼:

1)workspace:工作區,在本地寫的程式碼,都存放在工作區中。

2)index:暫存區,可以將工作區的檔案暫存在暫存區中,它實際上相當於一個包含檔案索引的目錄樹,可以理解為一個虛擬的工作區,在這裡,記錄了檔名、檔案狀態(時間長、檔案長度)等資訊,若工作區有檔案更新,可以通過 git add 指令將內容存放到暫存區。

3)repository:本地倉庫,用於儲存本地工作區和暫存區提交上來的變更(新增、修改、刪除)過的檔案的地方,可以使用 git commit –m “本次操作描述” 可以將新增到暫存區的修改的檔案提交到本地倉庫中。

4)remote:遠端倉庫,一個專案的開發往往需要多人合作,如果不能妥善保管好主專案中儲存的程式碼及檔案的話,將會存在丟失等情況出現,因此需要一個遠端倉庫來對專案進行儲存,可以使用 git push origin [分支名稱],將本次倉庫儲存的當前分支的修改推送至遠端倉庫中的對應分支中。

二、Git 與 SVN 的區別

1)Git 是分散式的,SVN 不是。

2)Git 把內容按元資料方式儲存,而 SVN 是按檔案。

3)Git 內容完整性比 SVN 的好。

4)Git 沒有一個全域性的版本號,而 SVN 有。

5)Git 分支和 SVN 的分支不同。

三、Git 常用命令

建立版本庫

# 克隆遠端版本庫
git clone <url>

# 在當前目錄初始化本地版本庫
git init

# 新建目錄初始化本地版本庫
git init <name>

配置

# 顯示當前 git 配置
git config --list

# 設定提交程式碼時的使用者資訊
git config [--global] user.name <"使用者名稱">
git config [--global] user.email <"使用者郵箱">

修改和提交

# 檢視狀態
git status

# 檢視變更內容
git diff

# 跟蹤所有改動過的檔案
git add .

# 跟蹤指定檔案
git add <file>

# 刪除檔案
git rm <file>

# 檔案重新命名
git mv <old> <new>

# 提交所有更新的檔案
git commit -m "commit msg"

撤銷

# 撤銷工作目錄中所有未提交檔案的修改內容
git reset --hard HEAD

# 撤銷工作目錄中指定檔案的修改內容
git reset --hard HEAD <file>

# 撤銷指定的提交
git revert <commit>

分支與標籤

# 顯示所有本地分支
git branch

# 切換到指定分支
git checkout <branch>

# 建立新分支
git branch <new>

# 刪除本地分支
git branch -d <branch>

# 列出所有標籤
git tag

# 刪除標籤
git tag -d <tag>

合併與衍合

# 合併指定分支到當前分支
git merge <branch>

# 衍合指定分支到當前分支
git rebase <branch>

遠端操作

# 檢視遠端版本庫資訊
git remote -v

# 檢視指定遠端版本庫資訊
git remote show <remote>

# 新增遠端版本庫
git remote add <remote> <url>

# 從遠端庫獲取程式碼
git fetch <remote>

# 下載程式碼並快速合併
git pull <remote> <branch>

# 上傳程式碼並快速合併
git push <remote> <branch>