此篇文章主要記錄了日常工作中經(jīng)常使用的 git 命令,后續(xù)會不斷的補充。使用的是 Mac OS X 系統(tǒng),Terminal 是 iTerm2 + Oh My Zsh。
1. Git 基礎(chǔ)命令
Git 安裝:git
? git
在命令行中輸入 git ,如果出現(xiàn)以下提示,則表明安裝成功:
? git
usage: git [--version] [--help] [-C <path>] [-c name=value]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
我用的是Mac,系統(tǒng)默認已經(jīng)安裝了Git,至于其它平臺上如何安裝,這里就不贅述了。
初始化倉庫:git init
在初始化倉庫之前,我們先建一個新目錄 test,并在新目錄里面新建 README.md 文件。
? mkdir test
? cd test
? touch README.md
接下來就可以輸入 git init 初始化倉庫:
? git init
Initialized empty Git repository in /works/test/.git/
上面提示表明在目錄 /works/test/ 下,初始化了一個 Git 倉庫(Repository),這時候我們本地的 /works/test/ 目錄則稱為 Git 的工作區(qū)(Working Directory)。
需要注意的是在進行任何 Git 操作之前,都要先切換到 Git 倉庫目錄。
查看倉庫狀態(tài):git status
初始化倉庫完之后,我們可以輸入 git status 來查看倉庫狀態(tài):
? git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
README.md
nothing added to commit but untracked files present (use "git add" to track)
表明 README.md 這個文件 Untracked,并提示可以用 git add <file> 命令來進行提交。
添加到暫存區(qū):git add
輸入 git add 把未追蹤的文件添加到暫存區(qū)(stage):
/works/test master ? ?
? git add README.md
/works/test master ? ?
? git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: README.md
添加到暫存區(qū)之后,我們再次輸入 git status 查看倉庫狀態(tài),顯示 README.md 這份文件等待被提交,或者可以使用 git rm --cached <file> 把文件移出暫存區(qū),回到工作區(qū),這樣做可以避免產(chǎn)生不必要的提交。
如果有多個文件需要同時 add ,可以使用 git add . 來進行一次性提交。. 表示當(dāng)前目錄的意思,在 Linux 常用命令匯總中有提到過。
提交到版本庫:git commit
接下來,我們輸入 git commit -m '添加README.md' 把文件提交到版本庫。-m 選項即 message,后面跟的引號內(nèi)的內(nèi)容即提交信息。
/works/test master ? ?
? git commit -m '添加README.md'
[master (root-commit) 142b8c0] 添加README.md
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
/works/test master ? 0m
? git status
On branch master
nothing to commit, working tree clean
提交之后,我們再輸入 git status 查看倉庫狀態(tài),提示工作區(qū)是 clean 的。
關(guān)于選項,具體的說明可以看這里,后面有遇到常見的用法再回來補充好了。
查看log :git log
輸入 git log 可以查看往期的log:
commit 142b8c06c93853a726e911eb687ca8de8b8c9fc4
Author: name <email>
Date: Sun Apr 16 23:11:08 2017 +0800
添加README.md
(END)
按 q 退出查看。
2. 遠程倉庫命令
添加/關(guān)聯(lián)遠程倉庫
git remote add [<options>] <name> <url>
- <name> 為遠程庫的名字, Git 默認使用 origin 這個名字來標識原始倉庫名
克隆遠程倉庫
如果要修改遠程倉庫中的內(nèi)容,要先 clone 到本地:
git clone <url>
clone 到本地之后,本地目錄已經(jīng)是一個關(guān)聯(lián)好遠程倉庫的 git 倉庫,所以不需要再另外初始化了。
查看遠程倉庫信息
git remote [<options>]
推送數(shù)據(jù)到遠程倉庫
git push [remote-name] [branch-name]