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,数据库相关概念 以前我们做系统,数据持久化的存储采用的是文件存储。存储到文件中可以达到系统关闭数据不会…

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

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

二、MySQL高级

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

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

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

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

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

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

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

创建并发布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内…

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系统安装桌面日历应该如…

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

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

easyui(一) 初始easyui

分享使我快乐。哈哈~ --WZY 一、什么是easyui&#xff1f; 学习一个东西&#xff0c;最重要的是知道它的定位(是干嘛的&#xff0c;基本的用法是什么&#xff0c;快速入门)&#xff0c;其实easyui也非常简单&#xff0c;不要觉得很难。 easyui就是一个前端框架&#xff0c;JQue…

mysql数据库代码_【代码总结】MYSQL数据库的常见操作

MYSQL数据库的常见操作一、mysql的连接与关闭-h&#xff1a;指定所连接的服务器位置-u&#xff1a;数据库的用户名-p&#xff1a;数据库的密码1 mysql -u 用户名 -p //连接数据库2 密码3 exit //关闭数据库1 mysql_connect($host,$user,$password); //连接数据库2 mysql_close(…

HDU1023 Train Problem II

传送门https://vjudge.net/problem/HDU-1023 解题思路&#xff1a; 大数和卡特兰数 实现代码&#xff1a; #include <iostream> #include <cstring> #include <cstdio> #include <cstdlib> using namespace std;const int MAX100; const int BASE10000…

命令创建mysql数据库_怎么在命令行创建一个mysql数据库

哆啦的时光机第一步&#xff1a;登陆到MySQL服务器  首先&#xff0c;你需要使用root用户登陆进你的MySQL数据库&#xff0c;如下&#xff1a;  $ mysql -u root -h -p  请注意&#xff1a;为了能登进远程的MySQL服务器&#xff0c;你需要开启服务器上的远程访问&#xf…

A-Z排序控件的实现

前言最近项目需要做一个地区首字母a-z排序的效果,记录一下自己如何实现的. 先看下效果图: 分析这种效果自己实现还是第一次;之前见过这种效果: 这些字母都是onDraw画上去的;只要知道每个字母的left,top,right,bottom就能知道它的具体位置,所以onMeasure方法中要确定每个单元格的…

mysql两个表查询修改_MySQL:查询、修改(二)

干货:使用SELECT查询的基本语句SELECT * FROM 可以查询一个表的所有行和所有列的数据。SELECT查询的结果是一个二维表。使用SELECT *表示查询表的所有列&#xff0c;使用SELECT 列1, 列2, 列3则可以仅返回指定列&#xff0c;这种操作称为投影。SELECT语句可以对结果集的列进行重…

Jython中文乱码问题

最近&#xff0c;在项目中需要用到Java代用Python的代码&#xff0c;并且需要传参数&#xff0c;因此选用了Jython包&#xff0c;但是&#xff0c;如果在调用python脚本时&#xff0c;出现了中文乱码的现象。代码如下&#xff1a; PythonInterpreter interpreter interpreter …

无规则弹窗自动点击插件_vscode 插件会了吧,英语不好的赶紧下载 自动分析源码中的陌生单词、点击朗读单词...

名字非常土&#xff1a;会了吧&#xff01;Solgan 还在因为 变量中 包含不认识的单词 头大吗&#xff1f;还在因为 看不懂 英文注释/文档 掉头发吗 &#xff1f;还在因为 各种机器翻译的内容 云里雾里吗 &#xff1f;您的救星来了&#xff01;&#xff01;&#xff01;用了“会…

Knozen:新型职场社交评论匿名应用,已获多家风投投资

Knozen是一款6月底新公布的职场匿名应用&#xff0c;能够展示你的同事朋友最赞赏、喜欢你什么。通过这款应用。能够匿名评价、分享、发现你的同事和朋友的个性。以及个性特征的比較。你的评价还能够被其它人匿名允许或反对&#xff1a;这个应用希望能够帮助你发现自己的个性长处…

mq幂等mysql_膜拜!看完这篇你还不懂RocketMQ算我输

RocketMQ 介绍Apache RocketMQ 是一款 低延迟、高并发、高可用、高可靠的分布式消息中间件。消息队列 RocketMQ 可为分布式应用系统提供异步解耦和削峰填谷的能力&#xff0c;同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性。RocketMQ 概念Topic&#xff1a;…