最常见

# 查看 git 客户端版本git --version# 失去一个残缺的 git 子命令列表git help -all# 创立一个新的 Git 版本库git init# 减少该目录下的某个文件到版本库中git add file# 把当前目录及子目录中的文件都增加到版本库里git add.# 从版本库中删除文件: foo.txt; 会将文件从索引区和工作目录中都删除。git rm foo.txtgit commit -m "delete foo.txt"# 版本库文件重命名; 把 foo.txt 改为 foo_new.txtgit mv foo.txt foo_new.txtgit commit -m "rename foo.txt to foo_new.txt"# 显示 add 后然而没有 commit 的变更git status# 查看版本库里一系列独自提交的历史,如果持续看更早的就按 "E"git log# 按住 Esc 间断按 2 次 大写的 "Z",就能退出以后命令# 创立版本库正本;git clone# 从本地的仓库 HelloWorld 创立正本 MyHelloWorldgit clone HelloWorld MyHelloWorld# 从 Git 服务器上创立正本,如从 GitHub 的一个仓库创立正本:git clone https://github.com/kamaihamaiha/Notes MyNotes# 创立一个 Tag(带附注的),commit_ID 在指定的提交 ID 下创立。git tag -m "Tag version 1.0" V1.0 commit_ID

配置相干命令

# 配置提交作者用户名; 也能够加上 --global 选项,用来作用域全局设置。git config user.name "张三"# 配置提交作者邮箱git config user.email "zhangsan@gmail.com"# 查看整组配置文件里独特查找的所有变量的设置值git config -l# 只看版本库特定的设置cat .git/config# 移除用户名设置和邮箱设置,也能够加上 --global 选项,用来作用域全局设置。git config --unset user.namegit config --unset user.email

分支

# 查看分支git branch      查看本地分支git branch -r    查看近程分支git branch -a    查看所有分支git branch -v     查看本地分支,含 HEAD 值,提交信息。# 创立分支:hot_fixgit branch hot_fix# 切换分支,切换到 hot_fix 分支git checkout hot_fix# 合并分支①:切换到合并指标的分支-mastergit checkout master②:执行 合并操作。把 hot_fix 合并到 mastergit merge hot_fix# 删除分支git branch -d 分支名# 重命名分支第一步:重命名本地分支:1. 切换到本分支下2. git branch -m new-name第二步:删除近程旧分支名,而后把本地的新的分支名字推送下来:1. git push origin :old-name new-name第三步:给本地的新名字的分支从新设置上传流。git push origin -u new-name# 创立空白新分支1. git branch <new_branch>2. git checkout <new_branch>3. git rm --cached -r .4. git clean -f -d5. git commit --allow-empty -m "..."6. git push origin <new_branch># 在本地创立分支【关联近程分支】并切换到该分支git checkout -b dev(本地分支名) origin/dev(近程分支名称)# 近程仓库建了一个新分支,本地想要查出来git remote update origin -p

log 命令

1. git log查看提交日志2. git log --pretty=oneline查看提交日志,每次递交都依照一行展现3. git log --oneline查看提交日志,每次递交都依照一行展现,并且事实以后版本及以前的版本提交日志。其中 HEAD 的哈希值只显示前几位。4. git reflog查看提交日志,显示提交的索引值。5. git rev-list HEAD --count查看以后分支提交次数6. git log --follow specify_file查看指定文件(specify_file)相关联的整个历史记录

diff 命令

1. git diff工作区和暂存区到差异, 前面能够加上文件2. git diff --cached历史库和暂存区到差异

查看提交

# 查看特定提交更加具体的信息,commit_ID 是具体的提交 IDgit show commit_ID# 查看提交信息单行摘要,--more=10 是最近的 10 个提交,不加上就显示最新的提交git show-branch --more=10# 查看提交差别,commitA_ID 和 commitB_ID 是两次提交的 ID。git diff commitA_ID commitB_ID

reset 命令

用来进行后退和后退。
reset 三个参数:--hard, --mixed, --soft

--hard

在本地库挪动 HEAD 指针
重置缓存区
重置工作区

--mixed

在本地库挪动 HEAD 指针
重置缓存区

--soft

在本地库挪动 HEAD 指针

后退和后退命令

三种形式:基于索引值[举荐]、应用 ^、应用 ~

# 到指定某个提交git reset --hard commit_ID# 往后退git reset --hard HEAD^  //退一步git reset --hard HEAD^^ //退两步...# 往后退git reset --hard HEAD~1 //退一步git reset --hard HEAD~2 //退两步...

不太罕用的命令

# 依据文件的散列值,把对象内容从对象库中提取进去git cat-file -p 散列值# 通过对象的惟一前缀来查找对象散列值(如:3b18e512d)git rev-parse 3b18e512d# 查看版本库中的所有文件,及其对应的散列值git ls-files -s# 捕捉索引状态,并保留到一个数对象里git write-tree# 查看提交的细节git show --prety=fuller# 计算文件的 SHA1 散列值git hash-object file# 将一个文件由已暂存转化成未暂存,也就是删除索引中的文件并保留在工作目录中git rm --cached file