Git push Refspecs: `refs/глав /*: ссылки / заголовки /origin` против` refs / заголовки /*: ссылки / заголовки /*`
Какой толчок Refspec (Git) правильный? Или оба верны? В чем разница?
refs/heads/*:refs/heads/origin/*
refs/heads/*:refs/heads/*
Я предпочитаю (1), потому что он ссылается на удаленное имя (происхождение), и я не понимаю, что означает (2) (но я вижу, что оно используется в некоторых руководствах!).
1 ответ
С участием refs/heads/*:refs/heads/origin/*
, git push origin master
будет расширен до git push origin refs/heads/master:refs/heads/origin/master
, Это создаст или обновит ветку с именем origin/master
в удаленном репозитории. Это действительно, но refs/heads/origin/master
было бы неоднозначно с refs/remotes/origin/master
, В некоторых ситуациях это может привести к ошибкам.
2 действует. С участием remote.origin.push=refs/heads/*:refs/heads/*
, git push
расширен до git push origin refs/heads/master:refs/heads/master refs/heads/dev:refs/heads/dev
, а также git push origin master
в git push origin refs/heads/master:refs/heads/master
,