【发布时间】:2012-11-01 09:29:46
【问题描述】:
我想使用 git notes 来做发行说明,但我不确定其他人是否使用相同的 ref 更改了我的 git 说明。
顺便说一句,chmod 444 .git/refs/notes/abc_test 和 .git/logs/refs/notes/abc_test 不起作用。
【问题讨论】:
我想使用 git notes 来做发行说明,但我不确定其他人是否使用相同的 ref 更改了我的 git 说明。
顺便说一句,chmod 444 .git/refs/notes/abc_test 和 .git/logs/refs/notes/abc_test 不起作用。
【问题讨论】:
我不认为你真的可以保护已发布的 git 笔记。
您可以将它们放在明确的namespace 中,如in here 所述:
我认为对于“典型用法”,无论如何都要将其他人的笔记存储在不同的地方,例如我将 Thomas 的列表笔记存储在 refs/remotes/trast/notes/ 中,这样它们就不会干扰我自己的笔记。
如果在同一个命名空间,那么they can be merged:
git checkout refs/notes/commits
git fetch origin refs/notes/commits
git merge FETCH_HEAD
git update-ref refs/notes/commits HEAD
git checkout master
但这会改变他们的内容。
【讨论】:
git notes 特定内容时添加了某种类型,并充当操作 git notes 的包装器。
此Git man page 详细说明了如何删除敏感数据,并声明您可以
将 [文件] 添加到 .gitignore 以确保它不会意外重新提交
由于 Git 使用的分布式模型,我认为不可能对文件进行版本化,但对其他人不可见。将文件复制到另一个用户的存储库后,将文件设置为只读将不会产生预期的效果。
这能回答你的问题吗?
【讨论】:
.git/refs/notes/xxx 应该是这样的。 .gitignore 将忽略git add something 时的文件。虽然 git notes 不需要手动提交,但运行 git push origin refs/notes/xxx 就可以了。因此,.gitignore 可能对此无济于事。