branch管理
- git checkout -b branch1 origin/branch1 克隆远端分支origin/branch1到本地
- git checkout -b branch1 新建分支branch1并切换到branch1分支
- git merge branch1 合并branch1分支到当前分支
- git merge branch1 --squash 将branch1合并到当前分支,并把所有branch1的所有提交合并成一次提交
- git commit --amend -m "提交文案" 不会新增新的提交记录,相当于修改上次的提交
- git branch -D branch1 删除分支branch1
- git push origin -D branch1 删除远程分支branch1
- git push -f 强制提交代码并以本地版本代码为主覆盖远程
git push -f是不安全的,git push --force-with-lease更安全,注意--force-with-lease失败后再执行一次也会强制提交覆盖 - git log 查看提交日志
- git reset 将所有暂存区回退到工作区
- git checkout . 丢弃工作区所有的更改
rebase branch
- git pull --rebase origin [branchName] = git fetch + git rebase
- git rebase master
stash贮藏代码
-
场景:当你的功能还没开发完不能commit但是现在需要rebase下master,缓存区的代码该咋办?当你写了几行代码,但是现在需要切到其他分支去改bug,缓存区的代码该咋办? 用git stash就好啦
-
git stash 贮藏代码
-
git stash pop 恢复到工作区和缓存区,会移除stashid
-
git stash list 查看当前贮藏区
-
git stash apply stashname 恢复指定贮藏代码到工作区和缓存区,会保留stashid -
git stash save 'msg' 带备注贮藏 -
git stash show -p 显示最新的贮藏文件具体改动
-
git stash show -p stashname 显示指定的贮藏文件具体改动