工作中使用最多的就是Git了,除了用了管理代码,发布博客。我还用来管理文档,可以使用git show
或git diff
查看更改。
整理了一下Git常用命令,方便随时查阅。
速查表
Git初始化
初始化用户信息
1 2
| git config --global user.name "xxx" git config --global user.email "xxx@gmail.com"
|
初始化项目
1.在网站用模板创建的项目
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| git clone <url>
cd xxx
touch README.md
touch LICENSE
touch .gitignore
git add . git commit -m "commit message" git push -u origin master
|
2.本地已有项目,和网站关联
1 2 3 4 5 6 7 8
| cd existing_folder git init git remote add origin git@xx.xx.xx.xx:diaojz/xxx.git
git add . git commit -m "Initial commit" git push -u origin master
|
1 2 3 4
| cd existing_folder git remote add origin git@xx.xx.xx.xx:diaojz/xxx.git git push -u origin --all git push -u origin --tags
|
推送代码到指定仓库
1 2 3 4 5 6 7 8
| git push origin master
git push origin sit:sit git push 仓库名 本地分支名:远程分支名
git push gitee master:master
|
查看远程仓库
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| git remote show origin
git remote -v
git remote add origin git@xx.xx.xx.xx:diaojz/xxx.git git remote add gitee git@yy.yy.yy.yy:diaojz/xxx.git 以上可以关联2个仓库地址
git remote rm origin git remote rm gitee
|
增删改查(add/rm/mv)
查看
1 2 3 4 5 6 7 8 9 10 11 12
| git status
git show
git diff
git log
git log -p <file>
git blame <file>
|
搜索
增删改
1 2 3
| git add . git add <file>
|
1 2 3 4 5 6
| git rm <file>
git rm --cached <file>
git rm -r --cached .
|
1 2 3 4 5
| git mv <old> <new>
git checkout HEAD <file> git checkout xxx.xib xxx.h xxx.m
|
提交 commit
1
| git commit -m "commit message"
|
回滚(reset/revert)
1 2 3 4 5 6 7 8 9 10
| git commit --amend
git reset --hard HEAD
git revert <commit号> git revert 分支名 <commit号> git revert HEAD^
|
git revert 和 git reset区别
合并(merge/rebase)
2个仓库之间的合并,合并其他人分支开发,发布版本等
1 2 3 4
| git merge <branch即指定分支名>
git rebase <branch>
|
分支 branch
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| git branch -a
git checkout <branch/tag>
git checkout -b dev
git checkout -b 分支名 origin/远程分支名
git fetch origin 远程分支名x:本地分支名x
git branch -d dev
git branch -D dev
git branch -d -f dev
|
标签 tag
1 2 3 4 5 6 7 8 9 10 11 12
| git tag
git tag -d v1.0.0
git tag -a v1.0.0 -m 'version 1.0.0 打版'
git show v1.0.0
git push origin v1.0.0
git push origin --tags
|
打标签官网
暂存 stash
普通用法
1 2 3
| git stash git stash pop git stash list
|
高级用法
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| git stash pop [–index] [stash_id] git stash pop 恢复最新的进度到工作区。git默认会把工作区和暂存区的改动都恢复到工作区。 git stash pop --index 恢复最新的进度到工作区和暂存区。(尝试将原来暂存区的改动还恢复到暂存区) git stash pop stash@{1}恢复指定的进度到工作区。stash_id是通过git stash list命令得到的 通过git stash pop命令恢复进度后,会删除当前进度。
git stash apply [–index] [stash_id] 除了不删除恢复的进度之外,其余和git stash pop 命令一样。
git stash drop [stash_id] 删除一个存储的进度。如果不指定stash_id,则默认删除最新的存储进度。
git stash clear 删除所有存储的进度。
|
解决冲突 conflict
多人代码提交,版本合并等操作可能产生冲突
1 2 3 4
| git mergetool -t opendiff
--allow-unrelated-histories
|
别名 alias
打开配置文件
1 2
| vim ~/.bash_profile source ~/.bash_profile
|
配置别名
1 2 3 4 5
| git config --global alias.last log -l git config --global alias.gst git status git config --global alias.gc git checkout git config --global alias.gcam git commit -a -m git config --global alias.br branch
|
丧心病狂的log
1
| git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
|