git简介

37609317
1.安装cygwin
All -> Devel -> Git / Git-Completion。
想搭配使用git和svn的话,还应该安装上subversion-perl:
最好顺带安装上vim,因为git在commit的时候,强制要求必须写日志,
缺省使用的就是vi/vim编辑器
vi ~/.gitconfig
[user]
name=paohaijiao
email=goudingcheng@sina.com
也可以使用git config命令来完成:

git config --global user.name paohaijiao
git config --global user.email goudingcheng@sina.com
然后建立一个目录,并进入新目录,随便写几个文件,下面就可以用git来进行版本控制了:

git init
git add .
git commit

生产环境
git clone
git fetch/get merge
3.mvn war:war
创建版本库并提交
$ cd d:
$ mkdir test
$ cd test

Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test
$ git init demo4
初始化空的 Git 仓库于 /cygdrive/d/test/demo4/.git/
$ cd demo4
$ ls -lat
总用量 4
drwxrwxr-x+ 1 Administrator None 0 一月 24 12:38 .git
drwxrwxr-x+ 1 Administrator None 0 一月 24 12:38 .
drwxrwxr-x+ 1 Administrator None 0 一月 24 12:38 ..
$ cd .git
Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test/demo4/.git
$ ls
config  description  HEAD  hooks  info  objects  refs
$ cd ..
第一次版本的提交
$ vi a.txt

Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test/demo4
$ git add a.txt

Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test/demo4
$ git status
位于分支 master

初始提交

要提交的变更:
  (使用 "git rm --cached <文件>..." 以取消暂存)

        新文件:   a.txt


Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test/demo4

git commit -m "我的第一 "
[master(根提交) 0d9347c] 我的第一次
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 a.txt
 2为什么一个工作区下有一个.get目录
 3.git config各命令参数的区别
 $ git config
用法:git config [<选项>]

配置文件位置
    --global              使用全局配置文件
    --system              使用系统级配置文件
    --local               使用仓库级配置文件
    -f, --file <文件>     使用指定的配置文件
    --blob <数据对象 ID>  从给定的数据对象读取配置

操作
    --get                 获取值:name [value-regex]
    --get-all             获得所有的值:key [value-regex]
    --get-regexp          根据正则表达式获得值:name-regex [value-regex]
    --get-urlmatch        获得 URL 取值:section[.var] URL
    --replace-all         替换所有匹配的变量:name value [value_regex]
    --add                 添加一个新的变量:name value
    --unset               删除一个变量:name [value-regex]
    --unset-all           删除所有匹配项:name [value-regex]
    --rename-section      重命名小节:old-name new-name
    --remove-section      删除一个小节:name
    -l, --list            列出所有
    -e, --edit            打开一个编辑器
    --get-color           获得配置的颜色:配置 [默认]
    --get-colorbool       获得颜色设置:配置 [stdout-is-tty]

类型
    --bool                值是 "true" 或 "false"
    --int                 值是十进制数
    --bool-or-int         值是 --bool or --int
    --path                值是一个路径(文件或目录名)

其它
    -z, --null            终止值是 NUL 字节
    --name-only           只显示变量名
    --includes            查询时参照 include 指令递归查找
git 暂存 (1,2)
Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test/demo4
$ cd ..

Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test
$ mkdir demo5

Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test
$ cd demo5

Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test/demo5
$ git init
初始化空的 Git 仓库于 /cygdrive/d/test/demo5/.git/

Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test/demo5
$ touch a.txt

Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test/demo5
$ git commit -m "commit"
位于分支 master

初始提交

未跟踪的文件:
        a.txt

提交为空,但是存在尚未跟踪的文件
Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test/demo5
$ git add .
$ git commit -m "commit"
[master(根提交) 53dbfbd] commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 a.txt
 $ echo "a">a.txt

Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test/demo5
$ git status
位于分支 master
尚未暂存以备提交的变更:
  (使用 "git add <文件>..." 更新要提交的内容)
  (使用 "git checkout -- <文件>..." 丢弃工作区的改动)

        修改:     a.txt

修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test/demo5
$ git commit -m "commit2"
位于分支 master
尚未暂存以备提交的变更:
        修改:     a.txt

修改尚未加入提交
1.修改不能直接提交
$ git add .

Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test/demo5
$ git commit -m "commit2"或者直接git commit -a -m "commit2"
[master 5fdeb61] commit2
 1 file changed, 1 insertion(+)

Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test/demo5
$ git log
commit 5fdeb61b5f4e8ee536388d614b16672a78cccaf9
Author: paohaijiao <goudingcheng@sina.com>
Date:   Sun Jan 24 13:07:30 2016 +0800

    commit2

commit 53dbfbd846c22b7af923163e7d8328d6511f373f
Author: paohaijiao <goudingcheng@sina.com>
Date:   Sun Jan 24 13:02:03 2016 +0800

    commit
2git add暂存区的三个状态
git diff比较差异相当于pvcs的difference
git diff head
M 第一列,版本库和中间状态有差异
M第二列。工作区和当前文件有差异
git  checkout .撤销
$
git history
理解暂存区
$ git branch
* master
$ git branch dev
$ git branch
$ git checkout dev
切换到分支 'dev'

Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test/demo5
$ git branch
* dev
  master

Administrator@VJNPCNLRQR7J0ME /cygdrive/d/test/demo5
$ git status
位于分支 dev
无文件要提交,干净的工作区
理解暂存区
git stash/git stash pop





转载于:https://my.oschina.net/goudingcheng/blog/608573

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值