廖雪峰Git博客
git add
git commit -m
git status
git diff
git log/git log --pretty=online
HEAD /HEAD/HEAD^/ HEAD~100 历史版本
git reset --hard HRAD^/版本号 回退到指定版本
git reflog 记录每一次命令
工作区和暂存区(stage/index)
git diff HEAD -- XXX 工作区和版本库中的区别
git checkout -- file 丢弃工作区的修改
git reset HEAD file 把暂存区的修改回退到工作区
git rm file 删除文件
git checkout -b 分支 创建并切换分支
git branch 查看当前分支
git merge 分支 合并指定分支到当前分支 快进模式
git branch -d 分支
git log --graph 分支合并图
git merge --no-ff -m "" dev 禁用fast forward,合并dev分支
bug分支
git stash现场工作储藏起来
git stash list 查看工作现场
git stash apply/git stash drop 恢复工作现场并手动删除stash
git stash pop恢复的同时删除stash内容
Feature分支
git branch -D <name>丢弃一个没有合并过的分支
多人协作
git remote/git remote -v
git branch --set-upstream dev origin/dev创建本地分支和远程分支的链接关系
git pull
标签管理tag
tag跟某个commit绑定
git tag <name>
git tag
git log --pretty=oneline --abbrev-commit
git show <tagname> 查看标签信息
git tag -s 用私钥签名一个标签
PGP签名 安装gpg(GnuPG)
签名以后的标签是不可伪造的,可以验证PGP签名
git tag -d v0.1 删除本地标签
git push origin <tagname> 推送标签到远程
git push origin --tags推送全部标签
git push origin :refs/tags/v0.9 删除远程标签
自定义git
git config --global color.ui true
忽略文件,需要编写.gitignore
配置别名
git config --global alias.st status
git config --global alias.unstage 'reset HREAD'
网友评论