创建版本库
mkdir testgit
git init
添加到版本库
git add 文件名
git commit -m "提交注释"
git status
查看文件状态
git diff 文件名
查看修改内容
版本回退
git log
查看历史记录
git log -pretty=oneline
查看简要历史记录
git reset -hard HEAD^
回退到上一个版本
git reset -hard HEAD^^
回退到上上个版本
git reset -hard HEAD~100
回退到前100个版本
git reset -hard 版本号
根据版本号回退
git reflog
获取之前的版本号
撤销修改
git checkout --文件名
与创建分支的命令很像
删除文件
rm 文件名
直接在文件目录删掉文件
再执行commit
在没有commit之前恢复文件
git checkout -- 文件名
分支
git checkout -b 分支名
创建并切换分支 相当于 git branch 分支名 + git checkout 分支名
git branch
查看当前分支
git merge 分支名
合并指定分支到当前分支
git branch -d 分支名
删除分支
解决冲突
git merge –no-ff -m “注释” 分支名
合并分支时禁用fast forward 合并后删除分支, 被删除的分支信息还在log
暂存改动
git stash
暂存改动
git stash list
查看暂存信息
git stash apply
恢复暂存信息
git stash pop
恢复信息并删除暂存内容
git stash drop
删除暂存内容
远程库
git remote
查看远程库信息
git remote -v
查看远程库详细信息
git checkout -b 分支名 origin/分支名
针对远程分支创建本地分支
git pull
拉取远程
标签
git tag
列出已有的标签
git tag -l
git tag -list
可选, 加上通配符则必选
git tag -a 标签名 -m "注释"
创建附注标签
git show 标签名
查看标签信息及对应的提交信息
git tag 标签名
创建轻量标签
git log -pretty=oneline
git tag -a 标签名 版本号
后期打标签
git push origin 标签名
推送标签到远程
git push origin -- tags
推送所有不在远程仓库的标签
git tag -d 标签名
删除本地标签
git push origin:refs/tags/标签名
将冒号前面的空值推送到远程标签名, 实现高效删除
git push origin --delete 标签名
删除远程标签
git别名
git config --global alias.ci commit
创建