5

如何使用坚固性检查我的 git repo 中是否有未提交的更改?

就像我如何以编程方式确定是否有未提交的更改?

4

4 回答 4

2

哇。这个问题已经有一段时间了,但我想我会投入 2 美分,因为我Rugged目前正在使用学习/使用。

现在有一种方便的方法Repository#diff_workdir

假设您想将工作目录与最后一次提交进行比较(相当于我认为只是一个普通的 old git diff)。您可以通过以下方式获得:

repo.diff_workdir(repo.last_commit)

希望这对某人有帮助!

于 2017-06-08T00:33:01.577 回答
0

你也这样做。询问状态或差异 HEAD 和工作树之间是否有变化。

Rugged 尚未合并差异支持,因此您必须使用 status。

于 2013-04-16T13:59:15.297 回答
0

最近添加了差异支持。您可以从 github 拉取最新版本。

a = Rugged::Tree.lookup(repo, "806999").tree
b = Rugged::Tree.lookup(repo, "a8595c").tree

diff = a.diff(b)

deltas = diff.deltas
patches = diff.patches
于 2013-05-16T12:23:38.893 回答
0

你可以得到类似于git statususing的东西Repository#status

如果您只想检查是否有任何未暂存的更改:

repository.to_enum(:status).any?
于 2017-07-09T07:12:00.067 回答