1. 生成git 格式的控制文件
$ mkdir gitproject
$ cd gitproject
[hadoop@localhost gitproject]$ git init
Initialized empty Git repository in /home/hadoop/gitproject/.git/
2. git commit 是指commit的到当前分支
3. 可以切换到任意branch 下打包
git checkout mybranch
mvn clean install
4. 在commit 之前可以使用diff 查看更改了哪些东西
[hadoop@localhost gitproject]$ vi my.txt
[hadoop@localhost gitproject]$ git add my.txt
[hadoop@localhost gitproject]$ git commit -m "add my.txt"
[master (root-commit) 737950e] add my.txt
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 my.txt
[hadoop@localhost gitproject]$ git diff
[hadoop@localhost gitproject]$
[hadoop@localhost gitproject]$ vi my.txt
[hadoop@localhost gitproject]$ diff my.txt
diff: missing operand after `my.txt'
diff: Try `diff --help' for more information.
[hadoop@localhost gitproject]$ git diff my.txt
diff --git a/my.txt b/my.txt
index 7c87573..42f6c47 100644
--- a/my.txt
+++ b/my.txt
@@ -1 +1,2 @@
my lover
+really?
5. 如果想丢弃修改,回到当初状态,可以使用 git stash
$ git diff my.txt
diff --git a/my.txt b/my.txt
index 7c87573..42f6c47 100644
--- a/my.txt
+++ b/my.txt
@@ -1 +1,2 @@
my lover
+really?
$ git stash
Saved working directory and index state WIP on master: 737950e add my.txt
HEAD is now at 737950e add my.txt
$ cat my.txt
my lover
6. 回到修改状态
$ cat my.txt
my lover
$ git stash pop
# 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: my.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (1bfaf437e571ed1201224643ccf58283f20b4265)
$ cat my.txt
my lover
really?
7. 撤掉对某个文件修改
$ cat my.txt
my lover
really?
$ git checkout my.txt
$ cat my.txt
my lover
8. 查看某个文件修改历史记录
$ git log my.txt
commit 737950e6e6d3131ddb8d497c0ff3acfac0845258
Author: zilzhang <zilzhang@ebay.com>
Date: Mon May 12 05:10:59 2014 -0700
add my.txt
9. 如果某个project 进行了变更, 可以把变更存放于某个文件, 如果他人也有一份本地project,他可以通过如下方式自动变更。
A user: git diff diff_file.txt ###把变更保存
B user: git diff apply diff_file.txt ####把变更也应用于B user的project,这样可以自动修改相应的内容。好处是A 用户不用提交, B用户就可以查看A 变更代码。
10 .git联机文档
git-scm.com/book/zh