1
helloleo 2014-12-16 16:33:27 +08:00
没有。等你了解 Git 的具体工作机制之后就自然而然知道为什么没有这个所谓的「版本号」了。
|
2
327beckham 2014-12-16 18:08:31 +08:00
一个commit可以算作一个版本?不太了解SVN的机制。
|
3
wwwjfy 2014-12-16 18:17:54 +08:00
修改文件内容?写个 pre-commit 的 hook
|
5
lyf362345 OP @327beckham 一样的,也是一个 commit 一个版本
|
7
gotounix 2014-12-16 18:23:35 +08:00
写个定时器,实时git pull
|
9
noli 2014-12-16 19:13:24 +08:00
|
11
banbanchs 2014-12-16 19:22:58 +08:00
git hook中的commit-msg应该可以办到,不过要自己写脚本
|
12
noli 2014-12-16 19:28:50 +08:00
@lyf362345 会英文的就看这里。
http://git-scm.com/book/en/v2/Getting-Started-Git-Basics#Git-Has-Integrity 好吧,哥顺手给你翻译了 Git Has Integrity Git 可以保证数据完整性 Everything in Git is check-summed before it is stored and is then referred to by that checksum. This means it’s impossible to change the contents of any file or directory without Git knowing about it. This functionality is built into Git at the lowest levels and is integral to its philosophy. You can’t lose information in transit or get file corruption without Git being able to detect it. 所有git 存储的东西都是经过校验之后再存储的,然后产生的校验码可以用来作为索引。这就是说,试图修改文件或文件夹的内容而又不让git 知道是不可能的。校验这个功能是在git 的底层完成的,并且融入到git 的哲学当中。你不会在git 没有侦测到的情况下,因为传输或者获取文件的过程中而造成信息丢失。 The mechanism that Git uses for this checksumming is called a SHA-1 hash. This is a 40-character string composed of hexadecimal characters (0–9 and a–f) and calculated based on the contents of a file or directory structure in Git. A SHA-1 hash looks something like this: Git 用于校验的是 SHA-1 哈希函数。在Git 中,基于文件或者文件夹结构内容进行计算,得出一个40个字符组成的16进制字符串。一个SHA-1 哈希字符串看上去是这样的。 24b9da6552252987aa493b52f8696cd6d3b00373 You will see these hash values all over the place in Git because it uses them so much. In fact, Git stores everything in its database not by file name but by the hash value of its contents. 你会在git 的每一处都看着这些哈希值,因为它使用得非常频繁。事实上,git吧所有东西存到数据库里面的时候使用的不是文件名而是这些存储内容的哈希值。 |
13
noli 2014-12-16 19:30:50 +08:00
你是不是想说 git log
|
14
myrual 2014-12-16 19:56:04 +08:00
这种功能其实挺鸡肋的。
以前做diff的时候就总碰到这种和代码无关但是不得不看的差别。 |
15
lawrencexu 2014-12-16 20:06:00 +08:00
svn当初搞出这种鸡肋功能的部分原因可能是集中式VCS,不连服务器就看不到log,窃以为git上就算有这个功能你也不要用了。
|
16
vietor 2014-12-16 20:14:51 +08:00 via Android
工具换了,思维没换
|
17
zyxfsky 2014-12-16 20:23:57 +08:00
还用同一版本怎么做DVCS
|
18
mckelvin 2014-12-17 20:16:18 +08:00
今天做了件类似的事情,每次commit的时候,在python的某个module里自动更新 `__version__`。参考了:
http://mass-communicating.com/code/2013/11/08/python-versions.html 需要注意的是,这个 `__version__` 的值和git的版本号是不一样的,毕竟你无法在一个文件里写下这个文件的hash。 |