人类可读/可比较的git更改ID

时间:2017-02-13 04:35:50

标签: git version-control commit git-log

某些版本控制系统,例如Perforce,将CL保持为简单整数,因此在同一分支上查看两个不同的CL,很容易理解哪个CL首先被合并。但是,在Git的情况下,CL /短CL是长十六进制字符串,甚至不容易被人眼比较。有没有办法摆脱这个问题?

2 个答案:

答案 0 :(得分:2)

我不敢。系统的分布式特性排除了一个好的单调增加的修订号&#34;。如果您和全球另一方的其他人决定在同一时间提交(而不是推送)补丁,那么谁是版本<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app="app" ng-controller="IndexController as vm"> <user-name name="vm.name"></user-name> <button ng-click="vm.newName()">Click</button> </div>且谁是n?只有当一个中央服务器可以分配修订号时,才可能进行这种同步。这是分配费用的代价。

然而,虽然没有技术解决方案,但有社会解决方案。良好的分支名称,正确的标记可以帮助您了解项目的进展情况。 n+1git branch --merged会告诉您有关合并哪些分支以及哪些分支未合并的详细信息。

答案 1 :(得分:1)

不,git的SHA-1哈希是一个40个字符的字符串。它是根据文件的内容计算的。并且git olny在数据库中存储SHA-1。所以它对人眼来说是不可读的。

如果您想查看git的历史记录,git log --oneline --decorate --graph --all可以清楚查看。