Git用户相关历史记录或用户相关内容

Git用户相关历史记录或用户相关内容,git,deployment,watermark,git-clone,Git,Deployment,Watermark,Git Clone,我面临着为我的作品添加水印的问题。我想使用git存储库向我的客户提供我的工作,但有一点值得怀疑。我知道如何为我的作品添加水印,但问题是如何为每个用户添加水印 是否有一种方法可以修改git clone的内容,使其针对特定用户而有所不同 我的第一个想法是为每个用户提供不同版本的单次提交,但是这个解决方案存在一些问题。首先我不知道怎么做,其次它可能不是可靠的解决方案,因为很容易找到这个提交并更改它 你知道如何解决这个问题吗 有没有一种方法可以修改git clone的不同内容 特定用户 简短的回答是:不

我面临着为我的作品添加水印的问题。我想使用git存储库向我的客户提供我的工作,但有一点值得怀疑。我知道如何为我的作品添加水印,但问题是如何为每个用户添加水印

是否有一种方法可以修改git clone的内容,使其针对特定用户而有所不同

我的第一个想法是为每个用户提供不同版本的单次提交,但是这个解决方案存在一些问题。首先我不知道怎么做,其次它可能不是可靠的解决方案,因为很容易找到这个提交并更改它

你知道如何解决这个问题吗

有没有一种方法可以修改git clone的不同内容 特定用户

简短的回答是:不,不可能


答案很长:要可靠地修改
git clone
的内容,而这种修改不能像您描述的那样通过删除最后一次提交来撤消,这需要您对从中克隆存储库的git服务器有很大的控制权,并且能够拦截克隆操作和接管

最好是为每个客户机创建一个单独的Git存储库,其中包含一个单一的提交(commit),将整个历史记录展平,并且内容已添加水印,并允许客户机克隆该存储库,而不是克隆包含所有历史记录的原始存储库


当然,此存储库与原始存储库没有任何关系,因此,如果您希望客户在回购中重新供款,则可能无法满足您的需求-即,将客户的更改合并回原始存储库并不容易。

这正是我所担心的。现在我考虑为每个客户创建一个分支,并将带水印的内容与该分支上的主分支合并。这应至少提供基本级别的安全性,而不会阻止客户参与。只有在以下情况下,这才有效:a)您有办法确保客户只能查看和下载其特定分支;b)它必须是在主分支中没有父提交的孤立分支(即,不可能在主分支中看到历史)