此篇文章主要记录了日常工作中经常使用的 git 命令,后续会不断的补充。使用的是 Mac OS X 系统,Terminal 是 iTerm2 + Oh My Zsh。
1. Git 基础命令
Git 安装:git
▶ git
在命令行中输入 git
,如果出现以下提示,则表明安装成功:
▶ 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,系统默认已经安装了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 的工作区(Working Directory)。
需要注意的是在进行任何 Git 操作之前,都要先切换到 Git 仓库目录。
查看仓库状态:git status
初始化仓库完之后,我们可以输入 git status
来查看仓库状态:
▶ 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>
命令来进行提交。
添加到暂存区:git add
输入 git add
把未追踪的文件添加到暂存区(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
添加到暂存区之后,我们再次输入 git status
查看仓库状态,显示 README.md
这份文件等待被提交,或者可以使用 git rm --cached <file>
把文件移出暂存区,回到工作区,这样做可以避免产生不必要的提交。
如果有多个文件需要同时 add ,可以使用 git add .
来进行一次性提交。.
表示当前目录的意思,在 Linux 常用命令汇总中有提到过。
提交到版本库:git commit
接下来,我们输入 git commit -m '添加README.md'
把文件提交到版本库。-m
选项即 message
,后面跟的引号内的内容即提交信息。
/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
查看仓库状态,提示工作区是 clean 的。
关于选项,具体的说明可以看这里,后面有遇到常见的用法再回来补充好了。
查看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. 远程仓库命令
添加/关联远程仓库
git remote add [<options>] <name> <url>
- <name> 为远程库的名字, Git 默认使用 origin 这个名字来标识原始仓库名
克隆远程仓库
如果要修改远程仓库中的内容,要先 clone 到本地:
git clone <url>
clone 到本地之后,本地目录已经是一个关联好远程仓库的 git 仓库,所以不需要再另外初始化了。
查看远程仓库信息
git remote [<options>]
推送数据到远程仓库
git push [remote-name] [branch-name]