Эта строка:
fetch = +refs/notes/*:refs/notes/*
сообщает вашим Git: Возьмите их refs/notes/*
имена и скопируйте их в мои refs/notes/*
имена. Вы никогда не делаете никаких origin/refs/notes/commits
name вообще, вы просто копируете ha sh ID в их refs/notes/commits
в свой refs/notes/commits
.
Это означает, что если вы добавляете свои собственные примечания к фиксации, следующие git fetch
стирает их, потому что требуется их последние заметки, выбрасывая (принудительно обновляя) ваши собственные refs/notes/commits
.
Если вы хотите сохранить свои собственные заметки, вы ' Вам нужно будет поместить свои заметки в другое место или сохранить свои заметки в другом месте (в любом из них). Система git notes
не очень хороша - здесь она совсем не удобна для пользователя.
Я бы посоветовал хранить свои заметки под своим именем и использовать стандартное имя для их заметок. . Я думаю, вы можете сделать это, например:
git config core.notesRef refs/notes/mynotes
. Убедитесь, что вы не перезаписываете эту примечания ref, используя:
fetch = +refs/notes/commits:refs/notes/commits
, чтобы вы перезаписывали только свои refs/notes/commits
из их refs/notes/commits
.
Вы Теперь можно определить, совпадают ли ваши заметки и их заметки, используя:
git rev-parse refs/notes/commits
git rev-parse refs/notes/mynotes
Эти две команды сгенерируют два идентификатора ha sh. Если идентификаторы ha sh не совпадают, у вас разные коммиты, так как самые последние заметки.
(Обратите внимание, что, как показано в документации, вы можете временно переопределить имя заметки несколькими способами, независимо от того, не вы переопределили имя по умолчанию refs/notes/commits
, используя core.notesRef
, как указано выше. Термин "default-default" здесь означает, что refs/notes/commits
является значением по умолчанию, если core.notesRef
установлено не . Параметр core.notesRef
устанавливает новое значение по умолчанию.)