2017-04-17 72 views
0

我已经创建了文件和符号链接到我的git存储库中的文件。
symfile1 - >文件1
当我改变文件1,我可以通过 git的日志文件1看到变化的历史,
但我没有看到相同的历史,当我做 git的日志symfile1
有什么办法查看真实文件的历史变化,使用git log登录它的符号链接?Git不使用符号链接显示历史记录

问题只关联历史我可以使用symbolik1来查看file1的历史更改吗?

+0

可能重复[如何git处理符号链接?](http://stackoverflow.com/questions/954560/how-does-git-handle-symbolic-links) – DevDonkey

+0

可能重复[我怎么能得到git遵循符号链接?](http://stackoverflow.com/questions/86402/how-can-i-get-git-to-follow-symlinks) – sschuberth

+0

你只需要检查'symfile1',看它*是*一个符号链接,查看链接的目标是否在存储库中,然后查看链接目标的历史记录(假设目标位于存储库中;如果没有,则目标文件的历史记录不在存储库)。 – torek

回答

1

否。符号链接根本没有改变,它仍然指向相同的目的地。也不能告诉你,不应该。如果我看到git会在符号链接上标记更改,那么只有当链接现在指向不同的文件名时。符号链接通常只涉及文件名,而不涉及文件内容。

这就是说,你可以创建一个简短的bash脚本来做到这一点。然后你可以为它创建一个git别名-scm.com/book/tr/v2/G。该脚本可以使用标准bash功能来查找链接目标,然后调用所需的适当git命令。

+0

难道没有办法说git(任何选项),我不想看到sym链接指向的文件的历史记录吗? – Suren

+0

不可以。你可以编写一个shell脚本来为你做,但git本身不会。 – AnoE

+0

感谢您的回复,是否可以挂钩git日志? – Suren

1

我想补充..

GIT把符号链接一样它的任何文件,但它存储它涉及到链接的内容。它没有做的,就是按照链接,然后考虑目标。事实上,除了它所包含的链接的价值之外,它不知道目标。当你签出时,GIT会重新创建那个带有原始文件路径的符号链接,但它根本不会考虑目标文件(除非它也在版本控制中,但会独立于符号链接进行跟踪)。

把它看作桌面上的一个快捷方式,它是一个文件。把它放到版本控制中,它会跟踪快捷方式,而不是它指向的东西。

相关问题