注意 如果直接复制命令到命令行可能出现未知问题建议手敲。
初次运行前配置
git 提供给了工具 git config 来提供方便的配置 git config 对应的配置文件如下
级别1 系统级 /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 –system 选项,读写的就是这个文件。
级别2 用户级 ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 –global 选项,读写的就是这个文件。
级别3 项目级 当前项目的 git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。
高级别会覆盖低级别的配置!3 > 1
初次使用git 需要设置提交代码时候的用户 和 邮箱
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
上面两条命令 简单的配置了用户级的 昵称 和 邮箱 (--global 用户级)
显示和更改配置
通常情况下会使用命令来摄者和修改配置 当然你也可以直接修改配置文件(上面3个级别的配置文件)
git config --list 展示所有配置
git conifg user.name 展示用户昵称
git config --global user.name "John Doe" 设置用户级 user.name 为 John Doe
获取git项目 两种方法
1.在工作目录下初始化仓管
git init
初始化后,默认git 是不跟踪任何文件的,如果需要跟踪需要 git add 标记跟踪
2.通过远端git仓库clone分支
git clone git://github.com/schacon/grit.git
这时候会在当前目录下新建 grit 目录,目录下存放仓库代码。如果你需要重新命名的话
git clone git://github.com/schacon/grit.git activity
这样目录下就会新建 activity 目录
记录每次更新到仓库(记录代码状态)
检查当前文件状态
git status
返回如下表示没有任何更新
# On branch master
nothing to commit (working directory clean)
新代码通常有以下几种方式
Untracked files:
该提示下文件表示文件未跟踪(未加入代码仓库)
Changes to be committed:
该提示下文件表示文件已经暂存还未提交
Changes not staged for commit:
该提示下文件表示文件已经修改但未暂存
当所有文件都被提交后会出现
nothing to commit
表示没有任何更新
git add 多功能命令
这是个多功能命令,根据目标文件的状态不同,此命令的效果也不同:可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等
git add file_dir 跟踪文件
git add file_dir 提交到暂存区
git add file_dir 标记冲突已解决
忽略某些文件
当你不想将某些文件加入版本控制或者一些文件因为某种原因不能加入版本控制,你可以在项目文件下 建立 .gitgnore 隐藏文件
# 此为注释 – 将被 Git 忽略
*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
.gitgnore 规范
所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
可以使用标准的 glob 模式匹配。
匹配模式最后跟反斜杠(/)说明要忽略的是目录。
要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
查看已暂存和未暂存的更新(查看改变)
查看尚未暂存的文件更新了哪些部分,该命令会直接展示文件差异
git diff
查看本次暂存和上次提交的差异
git diff --staged
提交更新
当你确定你修改的文件已经暂存后,你就需要提交代码了
git commit
该命令会启动文本编辑器 来进行输入提交说明 文本编辑器中被注释的行不会被加入到提交说明。
简洁方法
git commit -m '提交说明'
该命令直接在 -m 后输入提交说明,无需打开文本编辑器。
跳过暂存直接提交
git commit -a -m '提交说明'
加入 -a 参数后会将所有已经跟踪且有改变的文件直接提交,注意 如果你有文件未被跟踪 还需要执行 git add。
删除文件
当你需要删除文件时,推荐是使用下面命令
git rm file_dir
这个命令会将文件从版本控制中移除,且会对文件进行物理删除。
从版本库中删除
git rm --cached file_dir
该命令会将文件从版本库中删除,从版本库中删除 但是不会 删除物理文件,该文件状态会变成未跟踪状态。
移动文件
当你需要移动文件时,推荐是使用下面命令
git mv file_from file_to
该命令会 修改文件的位置,无论是版本库中的还是 物理工作目录上的。
这个文件执行后,被移动的文件会是 已暂存未提交的状态。
该命令就相当于
mv README.txt README
git rm README.txt
git add README
所以说如果你按照上面的命令操作,git也会认为你执行了一次 git mv操作。
网友评论