Git常用命令归纳总结

一、git配置

1.1 查看git配置信息

#查看所有配置信息
git config --list
#查看某一项配置信息
git config <key>

1.2 修改配置信息

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

1.3 获取帮助

git help
git --help
git help config

二、git基础

2.1 获取git仓库(初始化)

git init 

2.2 添加文件

git add <name>
补充:*可模糊匹配,如git add *.md

2.3 提交文件

git commit -m 'init file'

2.4 克隆仓库

git clone <url>
补充:git clone <url> <文件夹名> 克隆到指定文件夹

2.5 查看当前文件状态

git status
补充:git status <file> 查看某个文件状态
	 git status <-s或者--short> 简短输出

2.6 查看修改点

#比较的是工作目录中当前文件和暂存区域快照之间的差异
git diff
补充:git diff --staged或者--cached 查看已暂存将提交的内容差异

2.7 提交文件

#提交暂存区的快照
git commit
补充:git commit -m <messages> 提交文件加备注
	 git commit -a -m <messages> 已暂存的文件不添加就提交

2.8 移除文件

#工作目录中删除
git rm <file>
#从 Git 仓库中删除(亦即从暂存区域移除)
git rm --cached <file>
补充:git rm -f <file> 强制删除
	 git rm log/\*.log 删除log目录下**.log文件

2.9 移动文件

#重命名
git mv file_from file_to
补充说明:相当于执行 mv README.md README、git rm README.md、git add README三条命令

2.10 查看提交历史

git log 
补充:git log -p -2 -p显示每次提交的内容差异 -2显示最近两次提交
	 git log --stat 每次提交的简略的统计信息
	 git log --pretty=oneline 单行显示,short,full 和 fuller 
	 git log --pretty=format format可以定制要显示的记录格式,如: git log --pretty=format:"%h - %an, %ar : %s"
	 format常用选项
		%H
		提交对象(commit)的完整哈希字串
		%h
		提交对象的简短哈希字串
		%T
		树对象(tree)的完整哈希字串
		%t
		树对象的简短哈希字串
		%P
		父对象(parent)的完整哈希字串
		%p
		父对象的简短哈希字串
		%an
		作者(author)的名字
		%ae
		作者的电子邮件地址
		%ad
		作者修订日期(可以用 --date= 选项定制格式)
		%ar
		作者修订日期,按多久以前的方式显示
		%cn
		提交者(committer)的名字
		%ce
		提交者的电子邮件地址
		%cd
		提交日期
		%cr
		提交日期,按多久以前的方式显示
		%s
		提交说明
		
		git log常用选项
		-p
		按补丁格式显示每个更新之间的差异。
		--stat
		显示每次更新的文件修改统计信息。
		--shortstat
		只显示 --stat 中最后的行数修改添加移除统计。
		--name-only
		仅在提交信息后显示已修改的文件清单。
		--name-status
		显示新增、修改、删除的文件清单。
		--abbrev-commit
		仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。
		--relative-date
		使用较短的相对时间显示(比如,“2 weeks ago”)。
		--graph
		显示 ASCII 图形表示的分支合并历史。
		--pretty
		使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。
		-(n)
		仅显示最近的 n 条提交
		--since, --after
		仅显示指定时间之后的提交。
		--until, --before
		仅显示指定时间之前的提交。
		--author
		仅显示指定作者相关的提交。
		--committer
		仅显示指定提交者相关的提交。
		--grep
		仅显示含指定关键字的提交
		-S
		仅显示添加或移除了某个关键字的提交

2.11 撤销操作

#重新将忘提交的文件重新提交
git commit --amend
#撤销对文件的修改
git checkout -- <file>

2.12 取消暂存的文件

#你已经修改了两个文件并且想要将它们作为两次独立的修改提交
git reset HEAD <file>

2.13 远程仓库的使用

2.13.1 查看远程仓库

git remote 
补充:git remote -v 查看协作者的贡献

2.13.2 添加远程仓库

git remote add <shortname> <url>

2.13.3 从远程仓库中拉取

git fetch <remote-name>

2.13.4 推送到远程仓库

git push <remote-name> <branch-name>

2.13.5 查看远程仓库

git remote show <remote-name>

2.13.6 远程仓库的移除和重命名

#重命名
git remote rename from_name to_name
#移除
git remote rm <name>

2.14 打标签

标签分为轻量标签(lightweight)与附注标签(annotated)。
轻量标签很像一个不会改变的分支,它只是一个特定提交的引用。
附注标签是存储在 Git 数据库中的一个完整对象。

2.14.1 查看标签列

git tag

2.14.2 创建附注标签和轻量标签

#附注标签,需要加-a -m等参数
git tag -a <v0.1> -m "messages"
#轻量标签,无需加参数
git tag <version>
#后期打标签
git tag <version> <hashcode>

2.14.3 查看标签和对应的提交信息

git show <version>

2.14.4 共享标签

git push origin <tagname>
#推送很多标签
git push origin --tags

2.14.5 删除标签

#删除本地标签
git tag -d <tagname>
#更新远程标签(首先删除本地的标签,再删除远程标签)
git push <remote> :refs/tags/<tagname>

2.14.6 检出标签

git checkout <tagname>
#在“分离头指针”状态下,如果你做了某些更改然后提交它们,标签不会发生变化,但你的新提交将不属于任何分支,并且将无法访问,除非确切的提交哈希。因此,如果你需要进行更改——比如说你正在修复旧版本的错误——这通常需要创建一个新分支:
git chekout -b <new-branch-name>

2.15 git别名

2.15.1 创建别名

$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status

三、git分支

3.1 创建分支并切换到新分支

git checkout -b <new-branch-name>
补充:实际为git branch <new-branch>和git cheoutout new-branch两条命令简写

3.2 切换分支

git checkout <branch>

3.3 合并分支

#(1)首先切换到master分支
git checkout master
#(2)执行合并
git merge <branch-name>

3.4 删除分支

git branch -d <branch-name>

3.5 查看分支列表

git branch
补充:git branch -v 查看每一个分支的最后一次提交
	 git branch --merged 查看哪些分支已经合并到当前分支
	 git branch --no-merged 查看所有包含未合并工作的分支

3.6 rebase(变基)

git rebase <branch-name>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值