简写(可以根据你所需要的配置):
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.st status
下面是我开发过程中经常会用到的git 操作命令(暂时想起来会用到这些,后续补充遇到的)
以下feature-xxx代表分支名
克隆仓库到本地:
git clone git@github.com:github/gitignore.git
开分支并切到当前分支
git checkout -b feature-xxx
获取本地所有分支:
git branch
查看远程分支列表:
git branch -r
把本地的修改提交到暂存区:
git add .
将暂存区的修改提交到本地仓库:
git commit -m "说明"
提交本地仓库的本地分支到远程仓库:
git push origin feature-xxx
删除远程分支:
git push origin feature-XXX --delete
删除本地分支:
git branch -d feature-xxx
合并分支:
- 当前分支合并到master
git merge origin/master
- 拉取远程分支并合并
git pull
//相当于
git pull origin master
从远程拉取分支到本地但不会自动合并
git fetch origin master
git pull 相当于这两步的合并:
git fetch
git merge origin/master
撤销合并:
git reset --merge
撤销修改:
// 撤销所有
git checkout .
// 撤销某一个文件(路径通过查看状态获取 git status)
git checkout src/demo/router.js
查看当前分支状态:
git status
查看当前分支修改的代码:
git diff
回滚:
git reset --hard 8d722bb6e976
修改分支名称:
git branch -m oldbranchname newbranchname
打标签:
git tag v1.0.0
标签推送到远程:
git push origin v1.0.0
删除本地标签:
git tag -d tagName
删除远程标签:
git push origin :refs/tags/tagName
暂时保存没有提交的工作:
git stash
列出所有暂时保存的工作
git stash list
恢复某个暂时保存的工作
git stash apply stash@{1}
删除所有的stash
git stash clear
恢复最近一次stash的文件
git stash pop
压缩commit步骤
获取日志:
git log
合并,head代表最新的一条master分支,有时候是标签:
git rebase --i head
如果出现合并冲突,可能还需要手动修改,修改完后按顺序执行:
git add .
git rebase --continue
传到远程,记得加 -f:
git push origin feature-xxx -f
如果不想合并了,可以撤销本次操作
git rebase --abort
撤销husky校验:
git commit-m "..." --no-verify