git 怎么拉去分支代码_Git使用技巧1——代码写错分支了怎么办?

fe085b085b15caa47eaf53aa12ab7c09.png工欲善其事,必先利其器。995e3869f37f5daa4151be0d484616a5.png前言0c8aa60a7161cc1f85d5f9cebde6b3c8.pngGit的本质git是一个版本控制工具,一切以版本控制为中心,版本即每一次commit,其实分支是指向commit的,HEAD也是指向某一次提交的,HEAD其实指向的就是当前分支的最近一次commit,可以看到master分支相对当前分支就落后了一个版本。 

5ebbea0dd9ba4fde020cfd192827415a.png

通过上面的理解我们简单举一个例子,git merge 命令,比如当前我们在master分支,将deploy分支合并到当前所在的分支master,如果当前分支master在创建deploy分支之后,没有进行新的提交,则直接就会将master的分支指向deploy分支所在的commit,这种现象叫Fast-forward,如果master中间提交过,则会将分支内容进行合并,并重新创建一个commit。我们使用reset命令的时候就会使HEAD和当前分支指向的版本移动到指定版本,git reset的三种模式,强烈建议阅读下面这篇文章:https://www.jianshu.com/p/c2ec5f06cf1a,通俗易懂。995e3869f37f5daa4151be0d484616a5.png

代码写错分支了怎么办?

0c8aa60a7161cc1f85d5f9cebde6b3c8.png使用reset命令

比如我的代码应该写在wzy分支上,但是我写到了xym这个分支,并且还提交了,怎么把代码移到wzy分支,并且撤回提交?

1、(xym)git reset HEAD^ 

2、(xym)git stash

3、切换到wzy

4、(wzy)git stash pop

5、(wzy)commit 

这样所有的版本提交记录都不留痕迹,首先第一步会把差异放到工作区,然后git stash放到暂存栈,这个时候工作目录就是干净的,可以用git status看一下,然后切到wzy分支,git stash pop 从暂存栈中拿出来,之后再把代码提交。最后就是提交xym分支的代码,如果远程也推送了怎么办?就用下面的方法。

995e3869f37f5daa4151be0d484616a5.png

如何撤销远程的提交?

0c8aa60a7161cc1f85d5f9cebde6b3c8.png使用--force参数

某次修改已经本地提交了,push到远程了,怎么撤销本地和远程的提交

首先还是版本回退,git reset HEAD^,然后,这样你之前改动的内容就会到工作目录中,你可以直接不提交工作目录的改动直接恢复成原来的样子,然后git push --force origin xym.强行让远程和你本地版本一致,你就会发现那次提交消失了.

git reset有三种模式,默认--mixed会把回滚的版本,和当前版本的差异保存到工作目录,--soft会把和当前版本的差异保存到暂存区,--hard会直接覆盖工作目录、暂存区、仓库,保证代码是一致的.HEAD是最近一次提交,HEAD^是最近的上一次.

b5761a6b11e18d006cfe6212ffefc4e2.gif

0c8aa60a7161cc1f85d5f9cebde6b3c8.png结束语本期内容先到这里,后面会给大家介绍更多git实用技巧,感谢许愿猫校对内容!我们下期见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一、MySQL基础

MySQL基础 今日目标: 完成MySQL的安装及登陆基本操作能通过SQL对数据库进行CRUD能通过SQL对表进行CRUD能通过SQL对数据进行CRUD 1,数据库相关概念 以前我们做系统,数据持久化的存储采用的是文件存储。存储到文件中可以达到系统关闭数据不会…

struts2值栈,OGNL表达式,interceptor

struts2获取servlet api 第一种获取方式   获得原生request   HttpServletRequest request ServletActionContext.getRequest();   获得原生response   HttpServletResponse response ServletActionContext.getResponse();第二种获取方式   实现ServletRequestAwar…

如何给ppt编辑页码_拒绝千篇一律:Word插入“侧边”页码,让文档别具一格!...

微信扫码观看全套Excel、Word、PPT视频之前,有为大家介绍过插入页码的技法,你还记吗?(点击此处,阅读文章)我们已知道Word插入页码的方法,而且我们也很会用了。但是,如果要插入下图所示的侧边页码&#xff0…

二、MySQL高级

mysql高级 今日目标 掌握约束的使用 掌握表关系及建表原则 重点掌握多表查询操作 掌握事务操作 1,约束 上面表中可以看到表中数据存在一些问题: id 列一般是用标示数据的唯一性的,而上述表中的id为1的有三条数据,并且 马花疼…

设计模式之 里氏替换原则

里氏替换原则(Liskov Substitution Principle, LSP):所有引用父类的地方必须能使用其子类的对象。 简单来说就是 子类拥有父类所拥有的一切,并可以在此基础上进而扩展其他的属性和方法。转载于:https://www.cnblogs.com/blazeZzz/p/9260874.html

sql数据库去重语法_Mysql数据库中查询重复数据和去重数据 , 删除重复数据的sql及分析...

Mysql数据库中查询重复数据和去重数据 , 删除重复数据的sql及分析发布时间:2018-06-17 13:22,浏览次数:858, 标签:Mysqlsql数据库中有重复数据时,用到哪些sql语句?这里有若干数据,并掺杂了重复数据1. 查看过滤重复后的数据思路, group by 分…

Maven基础(总结)——入门学习

Maven基础 一、Maven概述 1.Maven是专门用于管理和构建Java项目的工具,它的主要功能有: 提供了一套标准化的项目结构提供了一套标准化的构建流程(编译,测试,打包,发布……)提供了一套依赖管理…

c#重写了窗体的OnKeyDown事件,但是不执行

设置下窗体的KeyPreview属性值为True即可 总结:遇到类似这样的问题,比如其他窗体运行没问题,就新建的窗体有问题。应该检查下窗体的属性。 转载于:https://www.cnblogs.com/codeDevotee/p/7093333.html

python答疑的作用_不学Python之集中答疑(5)

Python不用学,用用你就会。本辑答疑针对Python自然学习法二阶第二单元课程:Q:什么是字典?A:字典也是Python里面的一种多元素数据的存放方式。对于多个元素需要存放在一个变量名下的数据,Python里面常见的有…

MyBatis学习笔记(超详细总结)

MyBatis学习笔记 一、MyBatis概述 1.什么是MyBatis? MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发 MyBatis 本是 Apache 的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为yBatis 。2013年11…

Docker 搭建java+tomcat

1.  准备java和tomcat的软件包 jdk-7u79-linux-x64.tar.gz apache-tomcat-7.0.57.tar.gz 2.  编辑Dockerfile 文件 vim Dockerfile 1 FROM centos  #基本镜像 2 ADD ./jdk-7u79-linux-x64.tar.gz /root  #将jdk拷贝到镜像的 /root 下 3 ADD ./apache-tomcat-7.0.57.ta…

python发邮件主机找不到_Python 使用QQ邮箱发邮件

QQ邮箱太恶心了。经常改验证方式阿福最近的脚本不能用了,研究了一上午。终于研究出来了。def sendmail(data):content data[content]msg MIMEText(content,_subtypeplain,_charsetutf8)msg[Subject] data[Subject]msg[From] data[From]msg[To] ;.join(data[mail…

创建并发布npm包

1.npm官网创建npm账户 npm网站地址:https://www.npmjs.com/ npm网站注册地址:https://www.npmjs.com/signup 2.命令行工具登录npm npm login 验证登录是否成功 npm who am i 3.创建npm库 npm init 按照提示输入相应内容: 以下为package.json内…

python 文件状态_Python:如何访问文件的状态

一、案例:在某些项目中,需要获取文件的状态文件状态:os.stat(path)1、文件的类型:普通文件、目录、符号链接、设备文件或管道(一般在Linux上)。。。2、文件的访问权限:一般为读、写、执行,3个权限&#xff…

Android 开发笔记___drawable

1 <?xml version"1.0" encoding"utf-8"?>2 <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"3 android:layout_width"match_parent"4 android:layout_height"match_parent"5 …

win7 管理iphone日历_大师给你传授win7系统安装桌面日历的途径

win7正式版系统是公认操作便捷的电脑系统&#xff0c;大概很多人在操作过程中都会有应对win7系统安装桌面日历难题的时候。不少小白计算机技术还纯属于菜鸟&#xff0c;关于win7系统安装桌面日历的情况&#xff0c;不能自行处理。很多人都来询问小编win7系统安装桌面日历应该如…

Ubuntu下gcc多版本共存和版本切换

https://my.oschina.net/u/2306127/blog/538139 摘要: Ubuntu系统使用的gcc版本随着发布版本的不同而不同&#xff0c;在编译android系统时不同的版本推荐用不同的gcc去编译&#xff0c;那么可不可以改变系统的gcc来适应android编译环境的需求呢&#xff1f;答案是可以的。 Ubu…

手动导入maven项目依赖jar包

当通过坐标引入依赖jar包时&#xff0c;经常会出现下载失败或导入失败&#xff0c;需要手动去导入。 通过maven 仓库地址&#xff1a;https://mvnrepository.com/下载或其他方式拷贝的对应依赖jar包到本地。打开cmd命令窗口输入以下命令&#xff1a; mvn install:install-file…

内部属性 聚合_光的本质(用粒子性解释光的所有属性,颜色,介质内速度改变等)...

本文已经发布于《科技展望》2017年27期&#xff0c;转发请注明。1.1 光的本质1.1.1 光的本质光是地球上的生命体存在的前提条件&#xff08;当然地球上也存在不能见光的生命体&#xff0c;但即使是这些生命体不能见光&#xff0c;它们最终需要的能源也间接的来源于光&#xff0…

spring MVC报错:A child container failed during start

严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]] at java.util.concurrent.FutureTask.rep…