是这样,本地文件和远程仓库发生冲突了,关键我还提交了,然后经历一系列复杂的操作之后,整个变得很乱。于是我想把本地文件回滚到远程仓库的某一版本,然后重新修改提交推送,于是我还原了文件,关键是提交却没有变,如果这时候推送,将会把还原之前的提交给推送了,怎么把提交的全部清除?
(图片来自阮老师的博客,(传送门)[http://www.ruanyifeng.com/blo...])
也就是Remote 和 workspace 都已经同步了,而 repository那里还存着上次的 '提交' (commit),如果这时候推送,将会把上次的 '提交' (commit) 给推送出去,这样同步就白搭了。怎么把那些 '提交' 清空呢?
本地通过 git reset 清空 commit,然后 git push --force,强制覆盖掉远程的
或者 本地执行那个commit的反响操作,叫 git revert {commit},然后push