Git基础操作-本地仓库操作
文章目录
配置
三个不同的地方,每一个级别都会覆盖上层配置。 * /etc/gitconfig, 系统中所有用户配置。使用git config时用–system选项,读写该文件 * ~/.gitconfig, 适用于当前用户,使用git config时用–global选项,读写该文件 * 当前工作目录.git/config,适用于当前项目有效
获取帮助
命令:
1 2 3 |
git help <verb> git <verb> --help git git-<verb> |
例子:
1
|
git help config |
新建Git仓库
从当前目录初始化
1
$ git init
纳入版本控制
1 2
git add * git commit -m 'initial project version'
从现有仓库克隆
在当前目录创建grit目录
1
|
git clone git://github.com/schacon/grit.git |
1
|
在当前目录创建mygrit目录 |
1
|
git clone git://github.com/schacon/grit.git mygrit |
查看当前状态
1
|
git status |
跟踪新文件,添加文件到暂存区
1
|
git add <filename> |
忽略某些文件
查看忽略文件
1
|
cat .gitignore |
文件.gitignore的规范格式 * 所有空行或以注释符号#开头的行都会被Git忽略 * 可以使用标准的glob模式匹配 * 匹配模式最后跟反斜杠(/)说明忽略的是目录 * 忽略指定模式以外的文件或目录,在模式前加惊叹号(!)
.gitignore文件例子
1 2 3 4 5 6 |
# 此为注释 ----将被Git忽略 *.a #忽略所有.a结尾的文件 !lib.a #但lib.a除外 /TODO #仅仅忽略项目根目录下的TODO文件,不包括subdir/TODO build/ #忽略build/目录下所有文件 doc/*.txt#会忽略doc/notes.txt,但不包含doc/server/arch.txt |
查看/比较已暂存和未暂存的更新
查看尚未暂存文件
1
|
git diff |
查看已暂存文件
1 2 |
git diff staged git diff cached #Git 1.6.1更低版本 |
提交更新
命令: -v 选项将修改差异的每一行都包含到注释中 -a 选项跳过使用暂存区(吧所有已经跟踪的文件暂存一并提交,从而跳过git add步骤) –amend 撤销刚才(最近一次)的提交操作
1
|
git commit -m 'commit comment |
移除文件
命令: -f 选项强制删除修改过并且放到暂存区的文件 不删除当前工作目录文件,仅从跟踪清单中删除(比如不小心纳入仓库,要移除跟踪但删除文件以便在.gitignore文件中补上)
1
|
git rm <filename> |
例子
1
|
git rm readme |
1
|
git rm --cached Git.class |
重命名文件
命令:
1
|
git mv file_from file_to |
例子
1
|
git mv README.txt README |
上面git mv命令等同下面命令
1 2 3 |
mv README.txt README git rm README.txt git add README |
查看提交历史
1
|
git log |
取消已经暂存的文件
命令
1
|
git reset HEAD <file>... |
例子
1
|
git reset HEAD beacn.rb |
取消对文件的修改
命令:
1
|
git checkout -- <file>... |
例子
1
|
git checkout -- beanch.rb |
文章作者 binbin wen
上次更新 2013-06-21