git 命令总结

匆忙之间整理,比较乱。


git add 添加文件
git commit -m "commit log" 提交

git log 查看提交日志(版本号也可以看见哦)
git log --pretty=oneline 查看日志(单行)

git reset --hard ^HEAD 版本回退到上一个版本
git reset --hard commit_id 版本回退

git reflog 查看命令历史

git status 查看状态

git checkout --file 撤销工作区的修改(回到最近一次git commit或者git add 的状态)(删除之后文件之后可以用此命令还原,其实是从版本库中还原到工作区)
git reset HEAD file 可以把暂存区的修改撤销掉,重新放回工作区
推送到远程区就没办法修改了。

创建SSH Key: ssh-keygen -t rsa -C "youremail@example.com"

git remote add origin git@github.com:foolgry/rep.git 本地库推送到github库

git push origin master 推送到远程

git clone git@github.com:foolgry/rep.git 克隆远程仓库

git checkout -b dev 创建并切换到dev分支

git checkout mater 切换到master分支

git branch 查看(当前)分支

git merge dev 把dev分支合并到mater分支上

git branch -d dev 删除dev分支

git branch 创建分支

git log --graph 查看分支合并图

git merge --no-ff -m "commit log" dev合并并log

修复bug
哪个分支上面出现了bug就在哪个分支上创建临时分支,修复bug后合并并删除分支
假设现在在dev工作区
git stash 储存当前工作现场
git checkout mater
git checkout -b bug
修复
git checkout master
git merge --no-ff -m "fix bug" bug
git checkout dev
git stash list 查看存储记录
git stash pop恢复并删除存储;或git stash apply恢复 git stash drop删除

git branch -D 强行删除分支

git checkout -b dev origin/dev 在本地一个与远程对应(远程有的)分支dev

冲突之后先pull,然后解决冲突之后再push

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name

标签
git tag 查看标签
git show 查看标签信息
git tag 创建标签
git tag commit_id
git tag -a v0.1 -m "version 0.1 released"3628164 a后跟标签明,m后跟说明文字
git push origin
git push origin --tags一次性全部推送到远程
删除tag,先删除本地,再删除远程
gti tag -d
git push origin :refs/tags/

github 使用流程
fork/clone/push/pull/request

简写命令
git config --global alias.st status 表示st 代替status
co checkout
br branch
ci commit
unstage "reset HEAD"
last "log -1"
lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

原文地址:https://www.cnblogs.com/foolgry/p/5285737.html