获取帮助
$ git help
$ git <verb> --help
congfig的三个作用域
git config --list #查看git配置信息
git config --local # 只对某个仓库有效
git config --global # 对当前用户所有的仓库有效
git config --local # 对系统所有登录的用户有效
设置/修改 git用户/密码/邮箱
git config user.name #查看git用户名
git config user.name ‘Trinity’ #设置git用户名
git config user.password "666666" #设置git用户名密码
git config user.email "123456789@qq.com" #设置git邮箱
设置/修改 全局git用户/密码/邮箱
git config --global user.name Trinity
git config --global user.password abc0506abc
git config --global user.email "1548429568@qq.com"
文件需要先跟踪,再修改,再暂存,最后提交
git add filename
vim filename
git add filename
git commit filename
创建git仓库
(1)把已有的代码纳入git仓库
cd 某个文件夹
git init My_Progect # 在当前目录下创建和项目同名的文件夹
cd My_Progect
(2)新建的项目直接用git管理
cd 新建项目的文件夹
查看状态
git status # 查看详细状态
git status -s 或者 git status --short # 状态简览
$ git status -s
M README
MM Rakefile
A lib/git.rb
M lib/simplegit.rb
?? LICENSE.txt
注释:
输出中有两列,左栏指明了暂存区的状态,右栏指明了工作区的状态
?? # 新添加的未跟踪文件
A # 新添加到暂存区中的文件
M # 修改过的文件
MM # 暂存后又作了修改,即该文件的修改中既有已暂存的部分,又有未暂存的部分
忽略文件
$ vim .gitignore
*.[oa] # 忽略所有以 .o 或 .a 结尾的文件
*~ # 忽略所有名字以波浪符(~)结尾的文件
*.a # 忽略所有的 .a 文件
!lib.a # 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
/TODO # 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
build/ # 忽略任何目录下名为 build 的文件夹
doc/*.txt # 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/**/*.pdf # 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
文件 .gitignore 的格式规范如下:
1.所有空行或者以 # 开头的行都会被 Git 忽略。
2.可以使用标准的 glob 模式匹配,它会递归地应用在整个工作区中。
3.匹配模式可以以(/)开头防止递归。
4.匹配模式可以以(/)结尾指定目录。
5.要忽略指定模式以外的文件或目录,可以在模式前加上叹号(!)取反。
查看已暂存和未暂存的修改
git diff # 比较的是工作目录中当前文件和暂存区域快照之间的差异,即修改之后还没有暂存起来的变化内容
git diff --staged # 查看已暂存的将要添加到下次提交里的内容
重命名文件名
git mv readme readme.md # 把readme重命名为readme.md
移除文件(从已跟踪文件清单中移除也就是从暂存区移除)
git rm filename