git:如何将git notes添加的消息推送到中央git服务器?
似乎没有关于git notes的适当文档。我已经使用git notes add命令向其中一个commit添加了一些注释。但是当我按下提交按钮,然后进行单独的克隆时,我看不到提示消息。有没有办法推送通过git notes命令添加的所有便笺消息?根据,您可以使用git:如何将git notes添加的消息推送到中央git服务器?,git,Git,似乎没有关于git notes的适当文档。我已经使用git notes add命令向其中一个commit添加了一些注释。但是当我按下提交按钮,然后进行单独的克隆时,我看不到提示消息。有没有办法推送通过git notes命令添加的所有便笺消息?根据,您可以使用 git push <remote> refs/notes/* @来自man git pull的用户2663585:“git pull-从另一个存储库或分支获取并与之合并”git pull同时执行git fetch和git me
git push <remote> refs/notes/*
@来自
man git pull
的用户2663585:“git pull-从另一个存储库或分支获取并与之合并”git pull
同时执行git fetch
和git merge
,因此,如果您从中提取的远程设备有提交,您将执行一次合并(这将进行新的提交)。为了避免这种情况,如果要检查要合并的内容(而不是一次完成),可以运行git fetch
,然后自己运行git merge
。@user2663585:是的,注释是提交的,但不在它们指向的分支上。问题是,git pull origin blah
意味着将blah
合并到当前分支中,即使blah是refs/notes/commits
。因此,您将注释合并到主分支中,而不是将它们保留在它们所属的一侧。使此功能在某种程度上“起作用”的唯一方法是将它们放在refs/notes内的另一个“名称空间”(顺便说一句,这些名称空间是在哪里定义的?)中,例如在refs/notes/origin/(否则,git notes merge
不会做任何事情-甚至不会出错)。因此,使用git-fetch-origin-refs/notes/*:refs/notes/origin/*
,然后将它们与本地注释合并。若要在拉取时始终获取注释,可以将fetch=+refs/notes/*:refs/notes/*
添加到git配置中的“远程原点”部分。若要始终推送注释,请将push=+refs/notes/*
添加到远程原点Git配置中的。
git fetch origin refs/notes/*:refs/notes/*