Git常用命令,及.gitignore的配置
要很好的掌握Git,先要明白四个名词概念:
- Workspace(工作区):新添加的,和修改的未add操作的。
- Stage(暂存区):add操作过后,会进入暂存区。
- Repository(本地仓库):commit操作后,会进入本地仓库。
- Remote(远程仓库):push操作后,会提交到远程仓库。
Git的配置:
# 显示当前的Git配置
$ git config --list#设置用户名和邮箱,即提交代码时的用户信息
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"
添加/删除文件(到暂存区,即add操作)
#可以添加一个或多个
$ git add <file1> <file2>...#添加所有修改的和新添加的
$ git add .
#另一种写法
$ git add -A#添加指定目录
$ git add <dirname>#由暂存区恢复到工作区(发现提交错了,退回一步)
$ git reset HEAD <file>#恢复上一次add提交的所有file
$ git reset HEAD#撤销修改操作,恢复到修改之前的,撤销add后位于工作区下进行的
$ git checkout -- <file>#删除文件,并将文件放入暂存区
$ git rm <file1> <file2>
#改文件名,并将修改后的文件放入暂存区
$ git mv <file-original> <file-rename>
提交到本地仓库(commit操作)
#提交暂存区的所有文件(后面的message不可缺少)
$ git commit -m <message>
#提交暂存区的指定文件
$ git commit <file1> <file2> -m <message>
分支操作(branch)
# 列出所有本地分支
$ git branch# 列出所有远程分支
$ git branch -r# 列出所有本地分支和远程分支
$ git branch -a# 新建一个分支,并切换到该分支
$ git checkout -b [branch]# 切换到指定分支,并更新工作区
$ git checkout [branch-name]#从远程分支检出指定分支
$ git clone -b <branchname> <master># 合并指定分支到当前分支(主分支合并自定义分支)
$ git merge [branch]# 删除分支
$ git branch -d [branch-name]# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
查看信息:
# 显示有变更的文件
$ git status# 显示当前分支的版本历史
$ git log
.gitignore的配置:
/build
/.idea
/.gradle
/local.properties
.gitignore
用法规则和语义:
# 此为注释 – 将被 Git 忽略
.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt