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
Git 工具之储藏与清理-7.3
储藏与清理
有时,当你在项目的一部分上已经工作一段时间后,所有东西都进入了混乱的状态,而这时你想要切换到另一个分支做一点别的事情。
问题是,你不想仅仅因为过会儿回到这一点而为做了一半的工作创建一次提交。
针对这个问题的答案是 git stash 命令。
储藏会处理工作目录的脏的状态 - 即,修改的跟踪文件与暂存改动 - 然后将未完成的修改保存到一个栈上,而你可以在任何时候重新应用这些...
2019-01-17 01:34:35 |
Git