diff git 代码实现_Git 自救指南:这些坑你都跳得出吗?
每天都会写架构师文章,Java技术文章天天更新,感兴趣的点个关注再走呗!
Git 虽然因其分布式管理方式,不完全依赖网络,良好的分支策略,容易部署等优点,已经成为最受欢迎的源代码管理方式。
但是一分耕耘一分收获,如果想更好地掌握 git,需要付出大量的学习成本。
即使在各种 GUI 的加持下,也不得不说 git 真的很难,在 V2EX 上也常有如何正确使用 git 的讨论,同时在 Stackoverflow 上超过 10w+ 的 git 相关问题也证明了 git 的复杂性。
再加上 git 的官方文档也一直存在着 “先有鸡还是先有蛋” 的问题,虽然文档非常全面,但如果你不知道你遇到的问题叫什么,那么根本就无从查起。
作为国内领先的研发管理解决方案供应商,CODING 一直致力于在国内普及 git 的使用,为软件研发提供更高效率。
本文节选自 Katie Sylor-Miller 在日常工作中所遇到过的让他很头疼的 git 相关问题,并整理了相应的应对措施,在这里分享给正在学习如何使用 git 的同学们。
当然这些应对措施并不是唯一的,可能你会有其他更好的应对方法,这也恰恰是 git 这套版本控制系统强大的地方。
原文标题:《Oh shit,git!》
原文地址:https://ohshitgit.com/
01
/ 我刚刚好像搞错了一个很重要的东西,
但是 git 有个神奇的时间机器能帮我复原!/
reflog 是一个非常实用的命令,你可以使用这个命令去找回无意间删除的代码,或者去掉一些刚刚添加的却把仓库里的代码弄坏的内容。
同时也可以拯救一下失败的 merge,或者仅仅是为了回退到之前的版本。
02
/ 我 commit 完才想起来
还有一处小地方要修改!/
当我 commit 完然后跑测试的时候,经常突然发现忘了在等于号前面加空格。
虽然可以把修改过的代码再重新 commit 一下,然后 rebase -i 将两次揉在一起,不过上面的方法会比较快。
03
/ 我要改一下上一个 commit message!/
当你们组对 commit message 有格式要求时,或者当你忘了中英文间要加空格,这个命令能救你狗命。
04
/ 我不小心把本应在新分支上的内容
commit 到 master 了! /
注意:这个指令必须在错误的 commit 后直接执行,如果你已经试了其他的方式,你可能就需要用 git reset HEAD@{number} 来代替 HEAD~ 了。
05
/ 我不小心 commit 到错误的分支上了! /
也有很多人推荐了 cherry-pick 的解决方案,所以选哪个就看你心情了。
06
/ 我执行了 diff 但是啥也没出现 /
Git 不会给通过 add 加入到 staging 区域里面的文件做 diff ,除非你加了 --staged 的标签,别怀疑了这是一个 feature 不是一个 bug,当然对于第一次碰到这个问题的人来说还是有些不好理解的。
07
/ Git 从入门到放弃 /
为了维护最后的尊严 XD
不知道你在使用 git 中有没有遇到过各种令人掀桌的问题呢?
或者作为 git 资深用户有什么可以分享的小技巧呢?
欢迎大家在留言区跟我们互动~
原文:
https://mp.weixin.qq.com/s?src=11×tamp=1562671312&ver=1718&signature=5IIzKphXRTqXzZMMctGzQcI8fZ1CPOwT0eGEKNAQhpuJRxl*9LP*z5d3rA0SsT8lrYybol4S0D31Y630MgZGd608hIRS0iJLEusplHRbUhel8XdAPeJzbKHkseMFNrC4&new=1mp.weixin.qq.com
来源:微信公众号
作者:程序员的成长之路
diff git 代码实现_Git 自救指南:这些坑你都跳得出吗?相关推荐
- diff git 指定时间_Git 自救指南
Git 虽然因其分布式管理方式,不完全依赖网络,良好的分支策略,容易部署等优点,已经成为最受欢迎的源代码管理方式.但是一分耕耘一分收获,如果想更好地掌握 git,需要付出大量的学习成本.即使在各种 G ...
- diff git 代码实现_Git diff 算法
在Git中,有四种diff算法,即Myers,Minimal,Patience和Histogram.默认Myers.Minimal是Myers的改进,Histogram是Patience的改进.Mye ...
- diff git 指定时间_Git diff 代码比较的高级技巧
Git diff 代码比较的高级技巧 Git是使用branch来管理不同的功能点开发的,那么我们怎样能比较不同branch的不同呢? 使用 git diff branch1 branch2 , 就可 ...
- git push 的符号笔有什么用_Git自救指南(一)——工欲善其事,必先利其器,基本概念概览...
虽然大家肯定都知道这两个概念,但是还是要先说两句废话的-- Git -> 分布式版本控制系统,用来记录一个或者多个文件的变化. GitHub -> 代码托管中心,用来提供Git服务的地方. ...
- .git文件夹_Git幸存者指南
> Learn how to use Git to version control a cake recipe- and other things like code! 或如何用Git烤蛋糕 G ...
- Git 自救指南:这些坑你都跳得出吗?
点击蓝色"程序猿DD"关注我哟 加个"星标",不忘签到哦 转载自公众号:扣钉CODING 关注我,回复口令获取可获取独家整理的学习资料: - 001 :领取&l ...
- 程序员必须知道的几个Git代码托管平台(转)
上一篇博客中2015继续任性--不会Git命令,照样玩转Git我们简单的介绍了在VS2013中使用Git,和GitHub客户端的使用.那么使用Git到底有什么好处呢?最为明显的是支持Git代码托管的平 ...
- diff git 指定时间_【GIT】从指定分支两个Tag中获取差异文件,进行代码的增量更新...
介绍 随着DevOps兴起,在做CD代码上线交付时候,代码全量更新是很费时间的.下面代码就可以帮助我们从指定分支两个Tag中获取差异文件,进行代码的增量更新. 环境 Jenkins Git代码管理 获 ...
- git学习指南_GIT 学习指南
创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录: $ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit pwd命令 ...
最新文章
- 剑指offer:面试题39. 数组中出现次数超过一半的数字
- 安装yarn 心得分享
- CentOS 配置epel源
- 上传到SAP云平台CloudFoundry上的nodejs应用存储的绝对路径
- ajax包含mysql吗_php 实例ajax与mysql怎么只查询出一条数据?
- 数据结构链表之队列,Python3实现——7
- 列赋值为列表_Pandas入门-3-新增数据列操作
- Quartz2D之绘制一个简单的机器猫
- 字符串比较strcmp
- ubuntu之Matlab安装
- 给表空间增加数据文件
- 抓取scrapy中文文档 第一个Scrapy项目实现
- 图新地球为什么很模糊,白球、看图、下载问题深度剖析
- movieclip颜色
- API接口安全性设计
- python基础之布尔运算
- centos7 安装 K8S 及启动 POD问题
- 如何把Word中艺术字转换为图片
- 华为正式加入互联网路由安全规范 MANRS
- 急,在线等!!!!!
热门文章
- php 国密 签名,关于php国密SM3签名算法
- php阻止输入sql,在PHP中全面阻止SQL注入式攻击之三
- ubuntu安装java的rpm_ubuntu安装jdk-6u45-linux-x64-rpm.bin
- 2018python做图形界面哪个库简单_2018年常见的python编程开发库都有哪些类型
- android开发屏幕横放,android-即使从横向旋转到垂直,细节片段也会...
- python软件_Python自制照片美颜软件~
- python自定义安装哪些不需要_【1】python模块:自定义模块的3种导入方式
- Linux创始人数据结构,Linux 通用数据结构说明
- java 建造者实际中的用法_java中j建造者模式详解和使用方法
- 表格列隐藏_【excel每日提升】Excel隐藏列,不让别人打开!