【问题标题】:How to link to contents of git repo while switching between branches如何在分支之间切换时链接到 git repo 的内容
【发布时间】:2020-07-25 00:44:44
【问题描述】:

我想在 git repo 中创建指向文件的链接。当我对单独的分支进行更改时,更改不会反映在链接文件中。有什么方法可以在 git repo 中创建链接(无需为每个分支创建链接)?

【问题讨论】:

  • 您是在尝试使用硬链接还是符号链接?你能举一个你用来做这个的命令作为代码块的例子吗?

标签: git ln


【解决方案1】:

git checkout 需要替换工作树文件时,它首先调用unlink,然后调用open(O_CREAT)。这意味着,如果您从某个现有的工作树文件到工作树之外的某个路径名进行硬链接,那么只要 Git 本身替换该文件的工作树副本,该硬链接就会断开。

没有标志可以避免这种行为。

(在 Git 存储库制作硬链接——从一些现有的工作树文件到一些新的工作树文件——行为类似,因为 Git 会将它们视为两个不同的文件。如果你git add第二个名字和提交,你为相同的内容取了两个不同的名字,但是Git以后不会把这两个文件硬链接在一起。)

一般来说,如果您在工作树之外(甚至在其中!)创建一个符号链接到一个文件,该文件可能存在也可能不存在于您的工作中 -tree,可以正常工作:符号链接将继续包含工作树中可能存在或不存在的文件的名称,无论您签出(或不签出)该文件的哪个版本从任何给定的提交。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 2015-08-25
    • 2013-03-21
    • 1970-01-01
    • 2020-09-19
    • 2017-09-16
    • 2012-04-05
    相关资源
    最近更新 更多