2016-03-18 5 views
1

У меня есть GIT репозиторий следующим образом:Как удалить удаленную символическую ссылку в ветку в git?

$ git branch -a 
* master 
    remotes/m/branch_a -> origin/master 
    remotes/origin/master 

Я хочу, чтобы удалить удаленный симлинк освоить там без удаления мастера. Я пробовал:

$ git remote -v prune --dry-run 

это ничего не делает. Какие-либо предложения?

ответ

0

Это не «символическая ссылка» (не так как git добавила поддержку Windows), это «символическая ссылка» (хотя это и то же самое).

Имя пульта - это то, что появляется после remotes/, поэтому в этом случае пульт называется m.

Если символическая ссылка существует в хранилище, а также с помощью --prune (на любом git fetch m или git remote update m) не выбрасывайте его, что означает, что он (еще) присутствует на удаленном m. Даже если вы удалите его вручную на своем конце, он вернется, когда вы получите самую последнюю информацию с этого пульта.

Исключить это, чтобы удалить его на пульте дистанционного управления (а затем снова запустить git fetch -p m).

Если удаленный m больше не существует (или никогда не существовал), и эта символическая ссылка остались от чего-то нечетного вы сделали (или какой-то странный баг), вы можете просто удалить его:

git update-ref -d refs/remotes/m/branch_a 
Смежные вопросы