个人简介

Echo Blog


江湖无名 安心练剑
  • GitHook-Git 钩子
    背景 最近“从开源到跑路”的事件逐渐增多,给涉事企业造成了不小的损失。因而相关的防范工作显得愈发重要。 客观而言,人为手动的防范显得原始和笨拙,好在git提供了相关的钩子方法,为我们这里的防范提供了可行性。 这里我们以 git push 命令对应的 pre-push 钩子为例,因为想要开源出去,这个命令通常是必须执行的。 编写 git pre-hook shell 脚本 !/bi...
    2019-01-17 01:34:35 | Git
  • git-0901-java 程序如何访问 git 的各种信息?比如分支信息,分支差异,提交记录等等
    Q1-java 程序如何访问 git 的各种信息?比如分支信息,分支差异,提交记录等等 Java程序可以使用Git客户端库(如JGit)来访问Git的各种信息。 这些库提供了Java API,使得Java程序可以直接与Git进行交互和查询。 下面是一些常见的Git信息访问操作示例: 访问分支信息: 获取所有分支:使用 Git.branchList() 方法...
    2019-01-17 01:34:35 | Git
  • Git Clone 失败
    报错 报错 Cloning into 'tts-data'... remote: Enumerating objects: 29693, done. error: RPC failed; curl 18 transfer closed with outstanding read data remaining fatal: the remote end hung up unexpected...
    2019-01-17 01:34:35 | Git
  • Git rollback 回滚到指定版本的内容 + git revert 撤销操作 + git cherry-pick 当前分支上选择性地应用另一个分支上的一个或多个提交
    回滚方式 分成两步: $ git log 查看历史提交记录,每一个记录都有 HASH 值。 $ git reset #{HASH} 可以回滚到对应哈希值的提交。 git reset 用法详解 git reset 命令用于回退版本,可以指定退回某一次提交的版本。 用法介绍 git reset [--soft | --mixed | --hard] [HEAD] ...
    2019-01-17 01:34:35 | Git
  • Git 工具之重置解密-7.7
    7.7 Git 工具 - 重置揭密 在继续了解更专业的工具前,我们先讨论一下 reset 与 checkout。 在你初次遇到的 Git 命令中,这两个是最让人困惑的。 它们能做很多事情,所以看起来我们很难真正地理解并恰当地运用它们。 针对这一点,我们先来做一个简单的比喻。 三棵树 理解 reset 和 checkout 的最简方法,就是以 Git 的思维框架(将其作为内容管理器)来管...
    2019-01-17 01:34:35 | Git
  • Git 工具之重写历史-7.6
    7.6 Git 工具 - 重写历史 许多时候,在使用 Git 时,可能会因为某些原因想要修正提交历史。 Git 很棒的一点是它允许你在最后时刻做决定。 你可以在将暂存区内容提交前决定哪些文件进入提交,可以通过 stash 命令来决定不与某些内容工作,也可以重写已经发生的提交就像它们以另一种方式发生的一样。 这可能涉及改变提交的顺序,改变提交中的信息或修改文件,将提交压缩或是拆分,或完全地移...
    2019-01-17 01:34:35 | Git
  • Git 工具之搜索-7.5
    搜索 无论仓库里的代码量有多少,你经常需要查找一个函数是在哪里调用或者定义的,或者一个方法的变更历史。 Git 提供了两个有用的工具来快速地从它的数据库中浏览代码和提交。 我们来简单的看一下。 Git Grep Git 提供了一个 grep 命令,你可以很方便地从提交历史或者工作目录中查找一个字符串或者正则表达式。 我们用 Git 本身源代码的查找作为例子。 默认情况下 Git 会...
    2019-01-17 01:34:35 | Git
  • Git 工具之签署工作-7.4
    签署工作 Git 虽然是密码级安全的,但它不是万无一失的。 如果你从因特网上的其他人那里拿取工作,并且想要验证提交是不是真正地来自于可信来源,Git 提供了几种通过 GPG 来签署和验证工作的方式。 GPG 介绍 首先,在开始签名之前你需要先配置 GPG 并安装个人密钥。 $ gpg --list-keys /Users/schacon/.gnupg/pubring.gpg ----...
    2019-01-17 01:34:35 | Git