git本地以及远程分支回滚
转:https://www.cnblogs.com/sunny-sl/p/11236280.html
1. git本地版本回退
Git reset --hard commit_id(可用 git log –oneline 查看)
2. git远程版本回退
git push origin HEAD --force #远程提交回退
下面的命令也可以实现远程版本回退
git reset --hard HEAD~1
git push --force
3. git reverse和git reset的区别
- git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit。
- 在回滚这一操作上看,效果差不多。但是在日后继续merge以前的老版本时有区别。因为git revert是用一次逆向的commit“中和”之前的提交,因此日后合并老的branch时,导致这部分改变不会再次出现,但是git reset是之间把某些commit在某个branch上删除,因而和老的branch再次merge时,这些被回滚的commit应该还会被引入。
- git reset 是把HEAD向后移动了一下,而git revert是HEAD继续前进,只是新的commit的内容和要revert的内容正好相反,能够抵消要被revert的内容。
git reset + commit号
git reset命令后面是需要加2种参数的:”–hard”和”–soft”。
这条命令默认情况下是”–soft”。执行上述命令时,这该条commit号之 后(时间作为参考点)的所有commit的修改都会退回到git缓冲区中。
使用git status命令可以在缓冲区中看到这些修改。而如果加上”–hard”参数,则缓冲区中不会存储这些修改,git会直接丢弃这部分内容。
但需要注意的一 个问题是:由于这样的重置是直接在本地的修改,无法提交到远程服务器,如果直接丢弃的内容已经被推到远程服务器上了,则会造成本地和服务器无法同步的问题。
即git reset –hard只能针对本地操作,不能针对远程服务器进行同样操作。如果从本地删掉的内容没有推到服务器上,则不会有副作用;如果被推到服务器,则下次本地和 服务器进行同步时,这部分删掉的内容仍然会回来。
而上面注意中提到的问题则可以很好的被git revert 命令解决。
git revert + commit 号
该命令撤销对某个commit的提交,这一撤销动作会作为一个新的修改存储起来,这样,当你和服务器同步时,就不会产生什么副作用。
git本地以及远程分支回滚的更多相关文章
- git 远程分支回滚
git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id [本地代码库回滚]: git reset --hard commit-id :回滚到commit-id,讲commit-id ...
- git本地与远程分支
已经有远程分支,在本地检出,并且关联到远程分支 git checkout --trach origin/远程分支名 git checkout -b 本地分支名 origin/远程分支名 $ git ...
- git本地及远程分支回退
1. git本地版本回退 Git reset --hard commit_id(可用 git log –oneline 查看) 2. git远程版本回退 git push origin HEAD -- ...
- git 本地与远程分支冲突 解决
git pull origin master git rebase origin/master git merge origin/master git rebase --continue git pu ...
- git 本地回滚与远程库回滚
不说废话,开始: 一.本地回滚: git reset --hard commit-id //回滚到commit-id 二.远程回滚操作分3步:①将本地分支退回到某个commit ②删除远程分支 ...
- git 远程仓库回滚
git branch backup #创建备份分支 git push origin backup:backup #push到远程 git reset --hard commit_id #本地分支回滚 ...
- git拉取远程分支并创建本地分支和Git中从远程的分支获取最新的版本到本地
git拉取远程分支并创建本地分支 一.查看远程分支 使用如下Git命令查看所有远程分支: git branch -r 二.拉取远程分支并创建本地分支 方法一 使用如下命令: git checkout ...
- git拉取远程分支到本地
git拉取远程分支到本地 一.查看远程分支 -- 查看远程分支 git branch -r 二.拉取远程分支并创建本地分支 -- 采用此种方法建立的本地分支会和远程分支建立映射关系. git chec ...
- git拉取远程分支并创建本地分支
本地分支推送至远程 git checkout local_branch git push origin local_branch:remote_branch 一.查看远程分支 使用如下Git命令查看所 ...
随机推荐
- spark读写Oracle、hive的艰辛之路(一)
前两天工作需求,要通过给的几个Oracle的视图把数据入到hive库中,很遗憾,使用的华为云平台的集区环境中并没有sqoop1,当然也并没有sqoop2,所以,想到的解决方案是使用spark读取Ora ...
- NSURLProtocol的总结
http://www.cnblogs.com/xiaxlsblog/archive/2013/08/09/NSURLProtocol-xiaxl.html NSURLProtocol是一个抽象类.NS ...
- python--requests模块初识
requests,发送http请求(用python模拟浏览器浏览网页)requests.get("http://www.baidu.com") 示例: import request ...
- 树上背包DP Luogu P2014 选课
#include <cstdio> #include <cctype> #include <cstring> #include <algorithm> ...
- 简要总结selenium四个工具组
selenium 是基于WEB的自动化测试工具. 由以下几个工具组组成 1.selenium IDE: 一个火狐插件 点击这个插件就进入录制界面,能够记录用户的操作,并且将其导出为可重复使用的测试脚本 ...
- OpenCV 学习笔记(5) 使用opencv打开笔记本摄像头
#include "stdafx.h" #include <opencv2\opencv.hpp> #include <iostream> #include ...
- websocket 浅学
websocket ,可以实现客户端与服务器的即时通讯,比如即时聊天,获取项目中的消息提醒等(小铃铛上的标红数字提醒) 话不多说,上马奔腾,走起 只写demo,不在项目中使用: 1.初始化项目, np ...
- 第五届新疆ACM H-虚无的后缀
来源 第五届新疆省ACM-ICPC程序设计竞赛nowcoder重现赛 H-虚无的后缀 思路1 好菜哦. 首先后缀零的个数最多,我们只需要考虑他的质因子2和5的个数就行了(存为a,b). 因为其他因子对 ...
- nginx rewrite实战实例
本部分内容为nginx生产环境中使用的场景示例. 域名跳转(域名重定向) 示例1(不带条件的): server{ listen ; server_name www.aminglinux.com; re ...
- [算法模板]倍增求LCA
倍增LCA \(fa[a][i]\)代表a的第\(2^{i}\)个祖先. 主体思路是枚举二进制位,让两个查询节点跳到同一高度然后再向上跳相同高度找LCA. int fa[N][21], dep[N]; ...