zoukankan      html  css  js  c++  java
  • Git 自救指南:这些坑你都跳得出吗?

    阅读本文大概需要 2 分钟。

    菜单栏中添加我微信,私聊【加群】拉你入微信学习交流群

    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 资深用户有什么可以分享的小技巧呢?

    欢迎大家在留言区跟我们互动~

    ·END·

    程序员的成长之路

    路虽远,行则必至

    本文原发于 同名微信公众号「程序员的成长之路」,回复「1024」你懂得,给个赞呗。

    回复 [ 520 ] 领取程序员最佳学习方式

    回复 [ 256 ] 查看 Java 程序员成长规划

  • 相关阅读:
    TPM Key相关概念
    (转)eclipse报错及解决说明 "XX cannot be resolved to a type "
    (转)Bat Command
    (转)Linux下查看文件和文件夹大小 删除日志
    (转)每天一个linux命令(50):crontab命令
    (转)Vi命令详解
    (转)maven打包时跳过测试
    (转)mybatis常用jdbcType数据类型
    (转)MyBatis在插入的数据有空值时,可能为空的字段都要设置jdbcType
    (转)mybatis:动态SQL
  • 原文地址:https://www.cnblogs.com/gdjk/p/11155857.html
Copyright © 2011-2022 走看看