git常用命令总结
基础:
WorkSpace:工作区
index/Stage:暂存区
Repository: 本地仓库
Remote:远程仓库
新项目克隆:
git clone [url]
新建分支(dev):
方式一:
新建并切换到dev:git checkout -b dev
方式二:
新建dev: git branch dev
切换到dev:git checkout dev
删除分支:git branch -d ;
本地分支重命名:git branch -m oldName newName
工作区提交:
提交工作区所有文件到暂存区:git add .
提交工作区中指定文件到暂存区:git add …;
提交工作区中某个文件夹中所有文件到暂存区:git add [dir];
从暂存区中删除文件,但是工作区依然还有该文件:git rm --cached ;
取消暂存区已经暂存的文件:git reset HEAD …;
隐藏当前变更,以便能够切换分支:git stash;
使用git status 查看工作区是否干净
查看当前所有的储藏:git stash list;
恢复隐藏的变更:git stash pop
git diff 命令显示已写入缓存与已修改但尚未写入缓存的改动的区别:
尚未缓存的改动:git diff
查看已缓存的改动: git diff --cached
查看已缓存的与未缓存的所有改动:git diff HEAD
显示摘要而非整个 diff:git diff --stat
分支与主分支同步:
git fetch:是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。
合并:git merge
git pull:拉取并直接合并= git fetch + git merge
将工作区提交到本地仓库:
git commit -m “提交信息”
提交信息约定式提交:
feat: 新功能(feature)
fix: 修补bug
docs: 文档(documentation)
style: 格式(不影响代码运行的变动,比如格式化了代码、if-else优化)
refactor: 重构(即不是新增功能,也不是修改bug的代码变动)
test: 增加测试
chore: 构建过程或辅助工具的变动
修改commit信息:
修改单次(上一次):git commit --amend -m [message]
修改多次:git rebase -i HEAD~x [x指次数]
git log来查看提交日志(git log --graph --pretty=oneline)
p,pick <提交> = 使用提交
r,reword <提交> = 使用提交,但修改提交说明
s,squash <提交> = 使用提交,融合到前一个提交内
d,drop <提交> = 删除提交
wq
将master上修复了bug之后,如果这个问题在多个分支上都存在,不需要重复提交:git cherry-pick
推送到远程仓库:
git push
git push -f [慎用]
参考文章链接:
http://jartto.wang/2018/12/11/git-rebase/
https://juejin.im/post/5ae072906fb9a07a9e4ce596