grit

Git详解之二 Git基础

∥☆過路亽.° 提交于 2020-11-23 06:13:59
以下内容转载自: http://www.open-open.com/lib/view/open1328069733264.html Git 基础 读完本章你就能上手使用 Git 了。本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令。读完本章,你就能初始化一个新的代码仓库,做一些适当配置;开始或停止跟踪某些文件;暂存或提交某些更 新。我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件;如何既快且容易地撤消犯下的小错误;如何浏览项目的更新历史,查看某两次更新之间的差异;以及如何从远程仓库 拉数据下来或者推数据上去。 2.1 取得项目的 Git 仓库 有两种取得 Git 项目仓库的方法。第一种是在现存的目录下,通过导入所有文件来创建新的 Git 仓库。第二种是从已有的 Git 仓库克隆出一个新的镜像仓库来。 在工作目录中初始化新仓库 要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行: $ git init 初始化后,在当前目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。不过目前,仅仅是按照既有的结构框架初始化好了里边所有的文件和目录,但我们还没有开始跟踪管理项目中的任何一个文件。(在第九章我们会详细说明刚才创建的 .git 目录中究竟有哪些文件,以及都起些什么作用。

找到git commit来自哪个分支

血红的双手。 提交于 2020-08-14 12:36:21
问题: Is there any way to find out what branch a commit comes from given its sha1? 有没有办法找出一个提交来自哪个分支给它的sha1? Bonus points if you can tell me how to accomplish this using Ruby Grit. 如果您能告诉我如何使用Ruby Grit完成此任务,那么奖励积分。 解决方案: 参考一: https://stackoom.com/question/BMA1/找到git-commit来自哪个分支 参考二: https://oldbug.net/q/BMA1/Finding-what-branch-a-git-commit-came-from 来源: oschina 链接: https://my.oschina.net/u/4438370/blog/4281449

GRIT协议——分布式事务方案

孤者浪人 提交于 2020-08-11 19:51:14
本文介绍了GRIT协议的基本思想,该思想在IEEE国际数据工程国际会议(ICDE)2019上宣布,并提供了使用该协议的一部分为JanusGraph实现事务性存储后端的示例。该示例着重于只有一个数据库的系统,但是正如我们所说,GRIT可以支持由多个数据库组成的系统的ACID事务。 背景 在 微服务 体系结构中,应用程序可以调用多个微服务,通常由不同的团队以不同的应用语言实现这些微服务,并且可以使用多个基础数据库来实现其功能。这种流行的架构为跨多个微服务的一致的分布式事务带来了新的挑战。在微服务环境中支持ACID事务是一个真正的要求,但是使用现有技术很难实现,因为为单个数据库设计的分布式事务机制无法通过微服务轻松扩展到具有多个数据库的情况。 在涉及多个独立数据库的环境中,传统的两阶段提交(2PC)协议1本质上是系统进行分布式事务处理的唯一选择,而无需额外的应用程序工作。但是,由于潜在的许多协调参与者的路径很长,并且在阶段中需要锁定,因此在横向扩展平台中无法很好地工作。另一方面,使用由 诸如Saga之类的框架2执行的事务日志将招致应用程序复杂的补偿逻辑,并且由于不可逆的部分成功的事务而可能产生业务影响。 为了解决这些问题,我们开发了 GRIT ,为全球统一的分布式事务的一个新的协议,它巧妙地结合乐观并发控制(OCC)、2PC和确定性数据库等想法 来实现的,这是一个高性能

找到git commit来自哪个分支

[亡魂溺海] 提交于 2020-07-25 10:52:33
问题: Is there any way to find out what branch a commit comes from given its sha1? 有没有办法找出一个提交来自哪个分支给它的sha1? Bonus points if you can tell me how to accomplish this using Ruby Grit. 如果您能告诉我如何使用Ruby Grit完成此任务,那么奖励积分。 解决方案: 参考一: https://stackoom.com/question/BMA1/找到git-commit来自哪个分支 参考二: https://oldbug.net/q/BMA1/Finding-what-branch-a-git-commit-came-from 来源: oschina 链接: https://my.oschina.net/u/3797416/blog/4415323

Grit's clone method is undefined?

不打扰是莪最后的温柔 提交于 2019-12-30 06:53:25
问题 I've recently started working on a project that uses git for storage and ruby as a front-end. The first version of my script used ruby-git, which was ok though pretty simple. When I needed to do more specific work with my commits and logs it was recommended that I move to grit. However, I've a road block early on- grit seems incapable of cloning remote repositories. All examples I've found using the Repository class create a local repository and searching through the source I've found Grit's

In ruby/grit, how do I get a list of files changed in a specific commit?

一个人想着一个人 提交于 2019-12-13 00:14:06
问题 I want a list of files affected by a certain commit in git. Through the command line, I can do this with: git show --pretty="format:" --name-only (sha) But how can I do this through Grit in Ruby? 回答1: You can use your_commit.diffs which returns an array of Grit::Diff instances. Grit::Diff has a_path and b_path properties. Some (untested) example code: paths = []; @commit.diffs.each do |diff| paths += [diff.a_path, diff.b_path] end paths.uniq! 回答2: Since Grit's git module employs method

Can I get the progress of a git clone command, issued in grit, output to stdout?

孤街浪徒 提交于 2019-12-10 17:33:45
问题 I'm fairly confident this is either not possible or I'm missing an obvious option, but after consulting grit's Git class, the gist linked in this SO post, and the other grit tagged questions on SO, I'm coming up blank. I'm using grit for a series of rake tasks that install my application. One of these tasks clones a few repositories. Using the code in the linked gist as an example, this is the output of git cloning in grit (should work out of the box after a gem install grit in irb, ruby 1.9

Grit's clone method is undefined?

半城伤御伤魂 提交于 2019-11-30 21:05:49
I've recently started working on a project that uses git for storage and ruby as a front-end. The first version of my script used ruby-git, which was ok though pretty simple. When I needed to do more specific work with my commits and logs it was recommended that I move to grit. However, I've a road block early on- grit seems incapable of cloning remote repositories. All examples I've found using the Repository class create a local repository and searching through the source I've found Grit's clone method is undefined. What gives? This is my first StackOverflow question, so thanks in advance