Когда я бегу:
git push origin branchname
Что именно originи почему я должен набрать его перед именем ветви?
Когда я бегу:
git push origin branchname
Что именно originи почему я должен набрать его перед именем ветви?
Ответы:
originэто псевдоним в вашей системе для определенного удаленного хранилища. На самом деле это не свойство этого хранилища.
При выполнении
git push origin branchname
Вы говорите, чтобы подтолкнуть в originхранилище. Нет необходимости называть удаленный репозиторий origin: фактически, тот же репозиторий может иметь другой псевдоним для другого разработчика.
Remotes - это просто псевдоним, который хранит URL репозиториев. Вы можете увидеть, какой URL принадлежит каждому пульту, используя
git remote -v
В pushкоманде вы можете использовать пульты или просто напрямую использовать URL . Пример, который использует URL:
git push git@github.com:git/git.git master
git pushвы можете увидеть, что сначала он проверяет конфигурацию для этого хранилища (которую вы можете проверить git config --list) на наличие ключа branch.<branchname>.remote. Если это не установлено, «по умолчанию это источник» - git-scm.com/docs/git-push
originэто не имя удаленного хранилища. Это скорее локальный псевдоним, установленный в качестве ключа вместо URL удаленного хранилища.
Это избавляет пользователя от необходимости вводить весь удаленный URL при запросе push.
Это имя установлено по умолчанию и используется Git при первом клонировании с пульта.
Это псевдоним не является жестко запрограммированным и может быть изменен с помощью следующей командной строки:
git remote rename origin mynewalias
Посмотрите на http://git-scm.com/docs/git-remote для дальнейших разъяснений.
Git имеет понятие «удаленные», которые являются просто URL-адресами других копий вашего хранилища. Когда вы клонируете другой репозиторий, Git автоматически создает удаленный сервер с именем «origin» и указывает на него.
Вы можете увидеть больше информации о пульте, набрав git remote show origin.
git remote show originне почему бы просто git show origin? Должна быть причина, что это? Спасибо.
originявляется псевдонимом по умолчанию для URL вашего удаленного хранилища.
Просто! «origin» - это то, что вы называли своим удаленным репозиторием, когда запускали такую команду:
git remote add origin git@github.com:USERNAME/REPOSITORY-NAME.git
С тех пор Git знает, что «origin» указывает на этот конкретный репозиторий (в данном случае GitHub). Вы могли бы назвать это "GitHub" или "РЕПО" или как угодно.
Я также был смущен этим, и ниже - то, что я изучил.
Когда вы клонируете репозиторий, например, из GitHub:
originэто псевдоним для URL, с которого вы клонировали репозиторий. Обратите внимание, что вы можете изменить этот псевдоним.
В masterудаленном хранилище есть одна ветка (с псевдонимом origin). Существует также еще одна masterветка, созданная локально.
Дополнительную информацию можно найти в этом вопросе SO: Разветвление Git: master против origin / master vs. remotes / origin / master
Когда вы клонируете репозиторий с помощью git clone, он автоматически создает удаленное соединение с именем, originуказывающим назад на клонированный репозиторий. Это полезно для разработчиков, создающих локальную копию центрального репозитория, поскольку предоставляет простой способ извлекать изменения из исходной системы или публиковать локальные коммиты. Такое поведение также объясняет, почему большинство проектов на основе Git называют свое центральное хранилище.
Лучший ответ здесь:
https://www.git-tower.com/learn/git/glossary/origin
В Git «origin» - это сокращенное имя для удаленного репозитория, из которого изначально был клонирован проект. Точнее, он используется вместо URL этого исходного хранилища - и, таким образом, делает ссылки намного проще.
С https://www.git-tower.com/learn/git/glossary/origin :
В Git «origin» - это сокращенное имя для удаленного репозитория, из которого изначально был клонирован проект. Точнее, он используется вместо URL этого исходного хранилища - и, таким образом, делает ссылки намного проще.
Обратите внимание, что происхождение отнюдь не «волшебное» имя, а просто стандартное соглашение. Хотя имеет смысл оставить это соглашение без изменений, вы можете прекрасно переименовать его, не теряя никакой функциональности.
В следующем примере параметр URL для команды «клон» становится «источником» для клонированного локального репозитория:
git clone https://github.com/gittower/git-crash-course.git
Другие ответы говорят, что originэто псевдоним для URL удаленного хранилища, который не совсем точен. Следует отметить , что адрес , который начинается с httpявляется URL в то время как тот , который начинается с git@является URI идентификатора или универсального ресурса.
Все URL являются URI, но не все URI являются URL.
Короче говоря, когда вы печатаете, git remote add origin <URI>вы говорите своему локальному git, что всякий раз, когда вы используете слово, originвы на самом деле подразумеваете указанный вами URI. Думайте об этом как о переменной, содержащей значение.
И точно так же , как и переменная, вы можете назвать это все , что вы хотите (например. github, heroku, destinationИ т.д.).
удаленный (псевдоним URL репозитория) → источник (псевдоним восходящего потока) → мастер (псевдоним ветви);
remote, Уровень такой же , как working directory, index, repository,
origin, локальная ветвь репозитория сопоставляется с веткой удаленного репозитория