GIT常用方法总结
删除提交
删除最近一次提交
git reset --hard HEAD~1
删除某次提交
git rebase -i xxxx版本号
修改commit 前面的pick为drop,然后保存退出。
恢复删除提交的误操作
git relog
它会记录所有HEAD的历史,也就是说当你做 reset,checkout等操作的时候,这些操作会被记录在reflog中。
git reset -hard xxxxx版本号
使用git rebase合并多次commit
git rebase -i HEAD~2
该命令执行后,会弹出一个编辑窗口,2次提交的commit倒序排列,最上面的是最早的提交,最下面的是最近一次提交。
修改第2行的第一个单词pick为squash
ash,当然看一下里面的注释就理解含义了。
然后保存退出:wq,git会压缩提交历史,如果有冲突,需要修改,修改的时候要注意,保留最新的历史,不然我们的修改就丢弃了。修改以后要记得敲下面的命令:
git add .
git rebase --continue
如果你想放弃这次压缩的话,执行以下命令:
git rebase --abort
如果没有冲突,或者冲突已经解决
同步到远程
git push -f
修改上一次提交信息
git commit --amend
当前分支rebase主分支
主分支pull最新代码
切换到自己分支下操作
git rebase origin/master
主分支名称
git log --oneline
一行一行的显示日志
拆分commit提交
git log --online
git rebase -i xxxxx
修改要拆分的commit提交,改pick 为 edit。保存退出
git reset HEAD^
要修改提交的在工作区相当于新创建(处于未跟踪状态)
然后使用add和commit命令。
git add xxx
git commit -m 'one'
git add yyy
git commit -m 'two'
在仍处于Rebase状态,所以要让它继续运行完毕,代码如下:
git rebase --continue
完毕
更新子模块
git submodule update --remote
取得某次提交
git cherry-pick commitid
git push
撤销修改
git reset --hard
放弃本地修改强制更新
git fetch --all
git reset --hard origin/dev
撤销reset
git reflog
git reset --hard xxxx
12、上线
npm version patch
git log master…dev --oneline --no-merges