删除在本地有但在远程库中已经不存在的分支
git remote prune origin
查看本地分支
git branch
删除目标分支
git branch -D master
重新拉取master分支
git checkout master
把所有的远端更改同步到本地, 但不合并代码
git fetch --all
将本地代码强制同步到和远端分支(dev)一样
git reset --hard origin/dev
取消某次中间的提交(会创建一个还原的提交)
git revert commit_id
//如果commit_id是merge节点的话,-m是指定具体哪个提交点
//如果进入了输入模式, 输入大写ZZ就能退出
git revert commit_id -m 1
//接着就是解决冲突, 然后重新提交
如果在两个分支A和B, 都有a1提交, A的a1提交被revert了, 然后把A合并到B中, B中的a1提交, 也会被revert
删除提交记录(不可挽回, 慎用)
// 删除最新提交
git reset --hard HEAD^
// 强制推送
git push origin master -f
git stash 删除了怎么找回
输入 git fsck --lost-found
看到
dangling blob afc02fb30cc94f6ffd0cb2f524d7d349afa5f0dc
dangling commit dc41434caa510da8b0bb8fc40bb53041d0693945
dangling commit df053c06f6cac001cbe6a2c58da0bf972552fb26
复制dangling commit 的id(其他的dangling blob不用理会) 然后输入下面, 查看修改, 如果太多, 可以保存到本地查看 git show 701…96 > E:/dd.txt
git show 7010e0447be96627fde29961d420d887533d7796
如果是你想要的, 输入下面命令, 修改会自动commit上去
git merge 7010e0447be96627fde29961d420d887533d7796
###撤销merge
git reset --hard HEAD