您的位置:首页 > 其它

git的推到远程分支后的逆操作

2011-08-01 16:03 330 查看
工作中有时再使用时git push到远程分支后,会发现有些文件是不想推到远程分支上的,所以想取消上一次的git push操作,然后强推去覆盖远程分支上的信息。

做法如下:

1)先git reset --hard清空工作区上的内容。

2)然后再对工作区更改,如果要删除工作区中的文件,要用git rm 命令,而不要用rm命令。

3)重新git add .,add后记住要用git diff --cached或git status查看工作区的状态,不是什么文件都可以提交的。

4)git commit --amend -m "0.01 version for show",本地已经OK,下一步是强推到远程

5)git push origin +master:master就OK了,如果不小心写成git push origin master:master+,那么恭喜你,远程上又多出了一个master+分支,解决方法很简单,

用git push origin :master+就可以把这个远程分支给冲掉了。

如果是在windows eclipse上已推到远程分支然后发现某个过程文件不该修改的情况,在linux上可以这样做:先用git clone ****.git拉到本地,然后git reset --mixed HEAD^ 退到上次提交号,但是源代码改变保留,用git status可以查看工作区情况,用git add xxxfile 把应该修改的文件加上去,用git checkout xxxfile把本不用修改的文件回退到上一版本,

同样是git commit -m "message" 此处不用--amend,此时本地仓库落后远程一次提交,然后强制推到远程,会用当前仓库把远程刚才错误的提交给覆盖掉。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: