所以,我使用Git GUI做一个资料库。 但我不能找到谷歌上的任何痕迹,文档,或其他地方有什么“修订表达”是,它是需要创建一个新的分支。
此外,似乎这是使用了许多其他地方的计划,所以我相信这是需要了解的重要。
我发现在计算器上对这个问题,但是这个家伙没有得到回答。
我只需要知道:什么是修订体现在哪里?
所以,我使用Git GUI做一个资料库。 但我不能找到谷歌上的任何痕迹,文档,或其他地方有什么“修订表达”是,它是需要创建一个新的分支。
此外,似乎这是使用了许多其他地方的计划,所以我相信这是需要了解的重要。
我发现在计算器上对这个问题,但是这个家伙没有得到回答。
我只需要知道:什么是修订体现在哪里?
Git的需要一些常见的操作过程中能够识别提交
有许多的方法来识别一个承诺。 你可以使用一个分支,标签,提交SHA1或表达式。 例如:
git log HEAD
HEAD
最终解析为一个特定的承诺,你会被给予日志中。 你也可以说:
git log master
master
是一个分支,也将解决一个特定的提交。
git log fd72e9c99312
现在是实际的承诺。
下面的文档,你在找什么。 摘自git-rev-parse
AT命令的文档http://www.kernel.org/pub/software/scm/git/docs/git-rev-parse.html 。
指定修订
的修订参数一般,但不一定是名称的提交对象。 他们利用所谓的扩展SHA1语法。 这里有多种方式来拼写对象名称。 接近这个列表的末尾列出的是包含在提交名字的树木和斑点。
全SHA1对象名(40字节的十六进制字符串),或这样的一个子字符串是在存储库中是唯一的。 如dae86e1950b1277e545cee180551750029cfe735和dae86e两个名字,如果有在你的仓库,其对象名称与dae86e开始没有其他对象相同的提交对象。
从输出GIT-描述; 即,接近的标签,任选接着由短划线和若干提交的,随后是破折号,Ag和缩写的对象名。
一个象征性的裁判的名字。 例如,主站通常是指由$ GIT_DIR /参/头/主引用的commit对象。 如果你碰巧有两个头/主和标签/主,你可以明确地说,头/主告诉你的意思是哪一个饭桶。 当暧昧,一个是通过取第一场比赛在以下规则消歧:
如果$ GIT_DIR /存在,那就是你的意思(这通常是有用的,只有为HEAD,FETCH_HEAD,ORIG_HEAD和MERGE_HEAD);
否则,$ GIT_DIR /裁判/是否存在;
否则,$ GIT_DIR /裁判/标签/是否存在;
否则,$ GIT_DIR /裁判/头/是否存在;
否则,$ GIT_DIR /参/遥控器/是否存在;
否则,如果存在的话$ GIT_DIR /参/遥控器// HEAD。
HEAD名称提交你的工作树改变的基础上。 FETCH_HEAD记录分支从远程仓库获取与去年混帐取调用。 ORIG_HEAD由移动你的头在激烈的方式,记录头的位置的操作之前,这样就可以改变分支的末端回状态您可以轻松地跑在他们面前的命令创建的。 MERGE_HEAD记录提交(或多个)要合并到你的分支,当你运行git合并。
一个REF后跟后缀@与封闭在一对括号的日期规范({昨天}例如,{1每月2周3天1小时1秒前}或{1979年2月26日18时三十〇分00秒})到在某个时间点之前指定ref的值。 此后缀仅可跟随裁判的名字立即使用和裁判必须有一个现有的日志($ GIT_DIR /日志/)。 请注意,此查找在给定时间本地ref的状态; 例如,上周是什么在你本地的master分支。 如果你想看看在特定时间提交了几次,见--since和--until。
一个REF后跟后缀@与封闭在一对括号的序规范(例如{1},{15})来指定ref的第n个先前值。 例如主@ {1}是主站的直接前值,而主@ {5}是主站的第五先前值。 此后缀仅可跟随裁判的名字立即使用和裁判必须有一个现有的日志($ GIT_DIR /日志/)。
您可以使用@构建一个空参考部件来获得在当前分支的reflog了。 例如,如果你在分支布拉布拉,然后@ {1}表示相同布拉布拉@ {1}。
特殊的结构@ { - }指个分支当前的前检查出来。
到一个修改参数的后缀^意味着commit对象的第一个亲本。 ^意味着第母体(即转^相当于修订版^ 1)。 作为一个特殊的规则,转^ 0表示承诺本身,当转速是指犯对象标记对象的对象名称使用。
后缀〜一种修改参数是指提交对象,它是在指定的次生成隆重亲commit对象,以下仅第一个亲本。 即REV〜3等同于修订版^^^这相当于修订版^ 1 ^ 1 ^ 1。 参阅下面的这种形式的使用情况的图示。
后缀^随后封闭在一对括号(例如v0.99.8 ^ {提交})的对象类型名称表示对象可以是标签,并且递归地解引用,直到该类型的对象被发现或对象不能被解除引用的标签了(在这种情况下,BARF)。 转^ 0前面介绍是短手转^ {}提交。
后缀^后跟一个空的支架对(例如v0.99.8 ^ {})表示对象可以是标签,并且取消引用标签递归直至非标签找到对象。
冒号,然后是斜线,跟文本:这个名称提交,其提交信息与指定的文本开始。 这名返回最新的相符提交这使得任何REF到达。 !如果提交信息有开始,你必须重复; 特殊序列:/!后面不是别的东西! 保留现在。
后缀:后跟的路径; 这名在由冒号前的部分指定的树十岁上下对象的给定路径中的BLOB或树。
冒号,任选接着的阶段数(0到3)和结肠,随后的路径; 这个名字在给定的路径索引中的blob对象。 缺少阶段编号(和它后面的结肠)名的阶段0的条目。 期间合并,阶段1是共同的祖先,第2阶段是目标分支的版本(通常为当前分支),和第3阶段是被合并从分支的版本。
这里是一个例子,由Jon Loeliger。 双方承诺节点B和C是提交节点A.家长提交的父母下令左到右。
G H I J
\ / \ /
D E F
\ | / \
\ | / |
\|/ |
B C
\ /
\ /
A
A = = A^0
B = A^ = A^1 = A~1
C = A^2 = A^2
D = A^^ = A^1^1 = A~2
E = B^2 = A^^2
F = B^3 = A^^3
G = A^^^ = A^1^1^1 = A~3
H = D^2 = B^^2 = A^^^2 = A~2^2
I = F^ = B^3^ = A^^3^
J = F^2 = B^3^2 = A^^3^2
gahooa给出了全面的答案。 常见的情况:
master
) gitk
或git log
欢迎混帐的精彩世界。 TMI是意料之中的事...
另一种情况下,使用Emacs时:只需键入Ctrl-x vl
列出的所有版本。 对于一个新手与git(而不是Emacs的/ CVS)我很惊讶地看到,修订版被列为:
commit 8d5ab12cd76d5e6098e5894c8713ec605fd9f153
这无疑从一个令人耳目一新的变化Major.minor.bugfix.build
符号。
更重要的是(惊喜),令人惊讶的是,Emacs的,没有任何需要我来告诉它(通过的.emacs)自动处理git的,它需要参照的Git代替CVS。 相当了不起。
所以总结一下,当Emacs的提示进行修订,只需输入十六进制40位数字。
当您试图首次建立分支机构,Git的GUI要求修订的表达,从我的理解,我认为git的需求已经创建并承诺分支,以跟踪新的更改,例如(在文件中新的分支/修改)以的东西(在这里主分支)进行比较。