程序员人生 网站导航

Git Commands

栏目:服务器时间:2014-04-05 09:58:23
1. 系统设置

通常情况下,我们只需简单设置用户信息和着色即可。

$ git config --global user.name "Q.yuhen"
$ git config --global user.email qyuhen@abc.com
$ git config --global color.ui true
可以使用 "--list" 查看当前设置。
$ git config --list
2. 初始化

创建项目目录,然后执行 "git init" 初始化。这会在项目目录创建 ".git" 目录,即为元数据信息所在。

$ git init
通常我们还需要创建一个忽略配置文件 ".gitignore",并不是什么都需要加到代码仓库中的。

$ cat > .gitignore << end

> *.[oa]
> *.so
> *~
> !a.so
> test
> tmp/

> end
如果作为 Server 存在,那么可以忽略工作目录,以纯代码仓库形式存在。

$ git --bare init
在客户端,我们可以调用 "clone" 命令克隆整个项目。支持 SSH / HTTP/ GIT 等协议。

$ git clone user@server:/path.git
$ git clone git://github.com/schacon/grit.git mygrit
3. 基本操作

Git 分为 "工作目录"、"暂存区"、"代码仓库" 三个部分。

(1) 添加

文件通过 "git add <file>" 被添加到暂存区,如此暂存区将拥有一份文件快照。

$ git add .
$ git add file1 file2
$ git add *.c
"git add" 除了添加新文件到暂存区进行跟踪外,还可以刷新已被跟踪文件的快照。需要注意的是,被提交到代码仓库的是暂存区的快照,而不是工作目录中的文件。

(2) 提交

"git commit -m <message>" 命令将暂存区的快照提交到代码仓库。

$ git commit -m "message"
在执行 commit 提交时,我们通常会直接使用 "-a" 参数。该参数的含义是:刷新暂存区快照,提交时同时移除被删除的文件。但该参数并不会添加未被跟踪的新文件,依然需要执行 "git add <file>" 操作。

$ git commit -am "message"
(3) 状态

可以使用 "git status" 查看暂存区状态,通常包括 "当前工作分支(Branch)"、"被修改的已跟踪文件(Changed but not updated)",以及 "未跟踪的新文件(Untracked files)" 三部分信息。

$ git status

# On branch master

# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: readme
#

# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# install
no changes added to commit (use "git add" and/or "git commit -a")
(4) 比较

要比较三个区域的文件差别,需要使用 "git diff" 命令。

使用 "git diff [file]" 查看工作目录和暂存区的差异。
使用 "git diff --staged [file]" 或 "git diff --cached [file]" 查看暂存区和代码仓库的差异。

$ git diff readme

diff --git a/readme b/readme
index e69de29..df8285e 100644
--- a/readme
+++ b/readme
@@ -0,0 +1,2 @@
+1111111111111111111
+

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐