2015-10-08 2 views
1

У меня есть ситуации, когда я пытаюсь извлечь удаленные заметки GIT, используя следующие:Отсутствующие ссылки/примечания при выборке в мерзавце

git fetch origin refs/notes/*:refs/notes/* 

на совершенно новый клон репозитория, это работает правильно. Она тянет вниз 2 Примечание: пространство имен

> git fetch origin refs/notes/"*":refs/notes/"*"                             <system> <dev> 
From ssh://url/android-client 
* [new ref]   refs/notes/git-ratchet-1-3.2 -> refs/notes/git-ratchet-1-test 
* [new ref]   refs/notes/git-ratchet-1-dev -> refs/notes/git-ratchet-1-test2 

Однако в моем текущем репозитории проекта, когда я делаю что принести, я только получить один из рефов. Если я вручную удалю файл в .git/refs/notes/git-ratchet-1-test и попробую снова выбрать, я вытащил этот файл/ref.

Почему я не спускаю другой /refs/notes/git-ratchet-1-test2?

ответ

1

Ключ к этому здесь:

Если я вручную удалить файл в .git/ссылки/заметок/ГИТ-храпового 1-теста и повторите попытку извлечения ...

Вы вручную поставляете refspec, refs/notes/*:refs/notes/*. Это «non-force» refspec, что означает: «если у меня уже есть ссылка, не обновляйте мою, сохраните мою существующую ссылку».

Чтобы сделать это refspec для принудительного обновления, добавьте + спереди.

Если вы всегда как ноты, чтобы быть неправдоподобным (принуждение или нет), обновите ваш git config для этого удаленного добавить, что refspec к fetch множества. Например, вместо:

[remote "origin"] 
    url = git://git.kernel.org/pub/scm/git/git.git 
    fetch = +refs/heads/*:refs/remotes/origin/* 

вы могли бы сделать это читать:

[remote "origin"] 
    url = git://git.kernel.org/pub/scm/git/git.git 
    fetch = +refs/heads/*:refs/remotes/origin/* 
    fetch = +refs/notes/*:refs/notes/* 

(вы можете иметь столько fetch = линий, как вам нравится, за дистанционное управление).

+0

Логика имеет смысл, хотя я все еще не вижу недостающие заметки после выполнения «git fetch origin + refs/notes/*: refs/notes/*'. Я пропустил шаг? – loeschg

+0

Не думайте, что вам что-то не хватает, если вы убедитесь, что ваша оболочка не ест '*' s (при необходимости цитируйте их). – torek

Смежные вопросы