Git常用命令
查看不同
1 | git diff |
回退
1 | git reset --hard HEAD^ |
1 | git reset --hard 1094a |
查看日志
1 | git log [--pretty=oneline] |
查看历史命令
1 | git reflog |
查看工作区和版本库里面最新版本的区别
1 | git diff HEAD -- readme.txt |
丢弃修改
1 | git checkout -- readme.txt |
1 | 如果已经add了,则需要使用git reset HEAD <file>命令,再调用git checkout -- readme.txt |
删除文件
1 | 先删除文件,再使用命令删除版本库里面的文件,并且再commit |
关联仓库
1 | git remote add origin "url" |
推送代码
1 | git push origin master |
创建分支
1 | 创建+切换分支 |
切换分支
1 | git checkout <name> |
查看当前分支
1 | 会列出所有分支,当前分支前面会标一个*号 |
合并分支
1 | 分支走在了主分支前面,并没有变成两个不同分支 |
删除分支
1 | git branch -d dev # 和查看当前分支相同 |
禁用Fast-forward :”快进模式”
1 | git merge --no-ff -m "merge with no-ff" dev |
保存现场
1 | git stash |
查看远程库信息
1 | git remote [-v] |
分支推送原则
master分支是主分支,因此要时刻与远程同步;dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
拷贝远程分支到本地(远程合作常用)
1 | git checkout -b dev origin/dev |
特殊命令(多人合作)
1 | git rebase |
创建标签
1 | git tag v1.0 |
对commit打标签
1 | git tag v0.9 f52c633 # id号 |
查看标签
1 | git tag # 查看标签 |
标签操作
1 | 删除标签 |
技巧
1 | .gitignore文件(不想被git提示的,文件名写入其中即可) |
1 | 别名 |