Что означает origin в git
Что такое «происхождение» в Git?
Что такое origin и зачем мне вводить его перед именем ветки?
ОТВЕТЫ
Ответ 1
В команде push вы можете использовать пульты дистанционного управления или просто использовать URL-адрес напрямую. Пример использования URL:
Ответ 2
origin не является именем удаленного хранилища. Это скорее локальный псевдоним, установленный в качестве ключа вместо URL удаленного хранилища.
Это избавляет пользователя от необходимости вводить весь удаленный URL при запросе push.
Это имя установлено по умолчанию и используется Git при первом клонировании с пульта.
Это псевдоним не является жестко запрограммированным и может быть изменен с помощью следующей командной строки:
Посмотрите на http://git-scm.com/docs/git-remote для дальнейших разъяснений.
Ответ 3
Git имеет понятие «пульты», которые являются просто URL-адресами других копий вашего репозитория. Когда вы клонируете другой репозиторий, Git автоматически создает удаленный объект с именем «origin» и указывает на него.
Ответ 4
origin является псевдоним по URL-адресу вашего удаленного репозитория.
Ответ 5
С тех пор Git знает, что «origin» указывает на этот конкретный репозиторий (в данном случае GitHub). Вы могли бы назвать это «GitHub» или «Репо» или как угодно.
Ответ 6
Я тоже был смущен этим, и ниже я узнал.
Когда вы клонируете репозиторий, например, из GitHub:
Ответ 7
Ответ 8
Лучший ответ здесь:
Ответ 9
Обратите внимание, что происхождение отнюдь не «волшебное» имя, а просто стандартное соглашение. Хотя имеет смысл оставить это соглашение без изменений, вы можете прекрасно переименовать его, не теряя никакой функциональности.
В следующем примере параметр URL команды «клон» становится «источником» для клонированного локального репозитория:
Ответ 10
Все URL являются URI, но не все URI являются URL.
Короче говоря, когда вы вводите git remote add origin вы говорите своему локальному git, что всякий раз, когда вы используете слово origin вы на самом деле имеете в виду указанный вами URI. Думайте об этом как о переменной, содержащей значение.
Ответ 11
удаленный (псевдоним URL хранилища) → источник (псевдоним восходящего потока) → мастер (псевдоним ветки);
Что такое «origin» в Git?
Что такое origin и почему я должен вводить его перед именем ветви?
12 ответов
В команде push вы можете использовать пульты дистанционного управления или просто использовать URL напрямую. Пример, в котором используется URL:
Это избавляет пользователя от необходимости вводить весь удаленный URL при запросе push.
Это имя задается по умолчанию и для условности Git при первом клонировании с удаленного компьютера.
Это псевдонимное имя не жестко закодировано и может быть изменено с помощью следующей командной строки:
Взгляните на http://git-scm.com/docs/git-remote для получения дальнейших разъяснений.
Git имеет понятие «remotes», которые являются просто URLs для других копий вашего репозитория. При клонировании другого репозитория Git автоматически создает удаленный файл с именем «origin» и указывает на него.
Просто! «origin»-это именно то, что вы назвали своим удаленным хранилищем, когда выполнили такую команду:
С этого момента Git знает, что «origin» указывает на этот конкретный репозиторий (в данном случае репозиторий GitHub). Вы могли бы назвать его «github», или «repo», или как вам угодно.
Я также был смущен этим, и ниже приведено то, что я узнал.
При клонировании репозитория, например, из GitHub:
От A git branch бежал мой коллега git diff origin master И что же он должен делать? На что указывает origin отдельно? Это связано, но не охвачено В in Git, в чем разница между origin/master и origin master?
Позвольте мне объяснить на примере.
Теперь это может немного сбить с толку, потому что в GitHub (или удаленном сервере) проект называется ‘amazing-project’. Так почему же кажется, что для удаленного репозитория существует два имени?
Во многих случаях у вас будут ссылки на несколько удаленных репозиториев в вашем локальном репозитории, и каждый из них будет иметь другое короткое имя.
И последний вопрос: почему бы нам просто не использовать одно и то же имя?
Я отвечу на этот вопрос другим примером. Предположим, у нас есть друг, который разветвляет наш удаленный репозиторий, чтобы помочь нам в нашем проекте. И давайте предположим, что мы хотим иметь возможность извлекать код из их удаленного хранилища. Мы можем использовать команду git remote add для добавления ссылки на их удаленный репозиторий в нашем локальном репозитории.
Работа с удалёнными репозиториями
Для того, чтобы внести вклад в какой-либо Git-проект, вам необходимо уметь работать с удалёнными репозиториями. Удалённые репозитории представляют собой версии вашего проекта, сохранённые в интернете или ещё где-то в сети. У вас может быть несколько удалённых репозиториев, каждый из которых может быть доступен для чтения или для чтения-записи. Взаимодействие с другими пользователями предполагает управление удалёнными репозиториями, а также отправку и получение данных из них. Управление репозиториями включает в себя как умение добавлять новые, так и умение удалять устаревшие репозитории, а также умение управлять различными удалёнными ветками, объявлять их отслеживаемыми или нет и так далее. В данном разделе мы рассмотрим некоторые из этих навыков.
Вполне возможно, что удалённый репозиторий будет находиться на том же компьютере, на котором работаете вы. Слово «удалённый» не означает, что репозиторий обязательно должен быть где-то в сети или Интернет, а значит только — где-то ещё. Работа с таким удалённым репозиторием подразумевает выполнение стандартных операций отправки и получения, как и с любым другим удалённым репозиторием.
Просмотр удалённых репозиториев
Если у вас больше одного удалённого репозитория, команда выведет их все. Например, для репозитория с несколькими настроенными удалёнными репозиториями в случае совместной работы нескольких пользователей, вывод команды может выглядеть примерно так:
Это означает, что мы можем легко получить изменения от любого из этих пользователей. Возможно, что некоторые из репозиториев доступны для записи и в них можно отправлять свои изменения, хотя вывод команды не даёт никакой информации о правах доступа.
Обратите внимание на разнообразие протоколов, используемых при указании адреса удалённого репозитория; подробнее мы рассмотрим протоколы в разделе Установка Git на сервер главы 4.
Добавление удалённых репозиториев
В предыдущих разделах мы уже упоминали и приводили примеры добавления удалённых репозиториев, сейчас рассмотрим эту операцию подробнее. Для того, чтобы добавить удалённый репозиторий и присвоить ему имя (shortname), просто выполните команду git remote add :
Получение изменений из удалённого репозитория — Fetch и Pull
Как вы только что узнали, для получения данных из удалённых проектов, следует выполнить:
Данная команда связывается с указанным удалённым проектом и забирает все те данные проекта, которых у вас ещё нет. После того как вы выполнили команду, у вас должны появиться ссылки на все ветки из этого удалённого проекта, которые вы можете просмотреть или слить в любой момент.
Когда вы клонируете репозиторий, команда clone автоматически добавляет этот удалённый репозиторий под именем «origin». Таким образом, git fetch origin извлекает все наработки, отправленные на этот сервер после того, как вы его клонировали (или получили изменения с помощью fetch). Важно отметить, что команда git fetch забирает данные в ваш локальный репозиторий, но не сливает их с какими-либо вашими наработками и не модифицирует то, над чем вы работаете в данный момент. Вам необходимо вручную слить эти данные с вашими, когда вы будете готовы.
Начиная с версии 2.27, команда git pull выдаёт предупреждение, если настройка pull.rebase не установлена. Git будет выводить это предупреждение каждый раз пока настройка не будет установлена.
Отправка изменений в удаленный репозиторий (Push)
Когда вы хотите поделиться своими наработками, вам необходимо отправить их в удалённый репозиторий. Команда для этого действия простая: git push
. Чтобы отправить вашу ветку master на сервер origin (повторимся, что клонирование обычно настраивает оба этих имени автоматически), вы можете выполнить следующую команду для отправки ваших коммитов:
Просмотр удаленного репозитория
Это был пример для простой ситуации и вы наверняка встречались с чем-то подобным. Однако, если вы используете Git более интенсивно, вы можете увидеть гораздо большее количество информации от git remote show :
Удаление и переименование удалённых репозиториев
Если по какой-то причине вы хотите удалить удаленный репозиторий — вы сменили сервер или больше не используете определённое зеркало, или кто-то перестал вносить изменения — вы можете использовать git remote rm :
При удалении ссылки на удалённый репозиторий все отслеживаемые ветки и настройки, связанные с этим репозиторием, так же будут удалены.
Что такое «происхождение» в Git?
Что именно origin и почему я должен набрать его перед именем ветви?
origin это псевдоним в вашей системе для определенного удаленного хранилища. На самом деле это не свойство этого хранилища.
Вы говорите, чтобы подтолкнуть в origin хранилище. Нет необходимости называть удаленный репозиторий origin : фактически, тот же репозиторий может иметь другой псевдоним для другого разработчика.
origin это не имя удаленного хранилища. Это скорее локальный псевдоним, установленный в качестве ключа вместо URL удаленного хранилища.
Это избавляет пользователя от необходимости вводить весь удаленный URL при запросе push.
Это имя установлено по умолчанию и используется Git при первом клонировании с пульта.
Это псевдоним не является жестко запрограммированным и может быть изменен с помощью следующей командной строки:
Посмотрите на http://git-scm.com/docs/git-remote для дальнейших разъяснений.
Git имеет понятие «удаленные», которые являются просто URL-адресами других копий вашего хранилища. Когда вы клонируете другой репозиторий, Git автоматически создает удаленный сервер с именем «origin» и указывает на него.
origin является псевдонимом по умолчанию для URL вашего удаленного хранилища.
С тех пор Git знает, что «origin» указывает на этот конкретный репозиторий (в данном случае GitHub). Вы могли бы назвать это «GitHub» или «РЕПО» или как угодно.
Когда вы клонируете репозиторий, например, из GitHub:
origin это псевдоним для URL, с которого вы клонировали репозиторий. Обратите внимание, что вы можете изменить этот псевдоним.
В master удаленном хранилище есть одна ветка (с псевдонимом origin ). Существует также еще одна master ветка, созданная локально.
Лучший ответ здесь:
Обратите внимание, что происхождение отнюдь не «волшебное» имя, а просто стандартное соглашение. Хотя имеет смысл оставить это соглашение без изменений, вы можете прекрасно переименовать его, не теряя никакой функциональности.
В следующем примере параметр URL для команды «клон» становится «источником» для клонированного локального репозитория:
Все URL являются URI, но не все URI являются URL.
Короче говоря, когда вы печатаете, git remote add origin вы говорите своему локальному git, что всякий раз, когда вы используете слово, origin вы на самом деле подразумеваете указанный вами URI. Думайте об этом как о переменной, содержащей значение.
What is «origin» in Git?
What exactly is origin and why do I have to type it before the branch name?
13 Answers 13
origin is an alias on your system for a particular remote repository. It’s not actually a property of that repository.
you’re saying to push to the origin repository. There’s no requirement to name the remote repository origin : in fact the same repository could have a different alias for another developer.
Remotes are simply an alias that store the URL of repositories. You can see what URL belongs to each remote by using
In the push command, you can use remotes or you can simply use a URL directly. An example that uses the URL:
origin is not the remote repository name. It is rather a local alias set as a key in place of the remote repository URL.
It avoids the user having to type the whole remote URL when prompting a push.
This name is set by default and for convention by Git when cloning from a remote for the first time.
This alias name is not hard coded and could be changed using following command prompt:
Take a look at http://git-scm.com/docs/git-remote for further clarifications.
Git has the concept of «remotes», which are simply URLs to other copies of your repository. When you clone another repository, Git automatically creates a remote named «origin» and points to it.
origin is the default alias to the URL of your remote repository.
Simple! «origin» is just what you nicknamed your remote repository when you ran a command like this:
From then on Git knows that «origin» points to that specific repository (in this case a GitHub repository). You could have named it «github» or «repo» or whatever you wanted.
I was also confused by this, and below is what I have learned.
When you clone a repository, for example from GitHub:
origin is the alias for the URL from which you cloned the repository. Note that you can change this alias.
There is one master branch in the remote repository (aliased by origin ). There is also another master branch created locally.
Origin is the shortname that acts like an alias for the url of the remote repository.
Let me explain with an example.
Because you cloned the repository. The remote repository and the local repository are linked.
Now, this may be a bit confusing because in GitHub (or the remote server) the project is called ‘amazing-project’. So why does it seem like there are two names for the remote repository?
Well one of the names that we have for our repository is the name it has on GitHub or a remote server somewhere. This can be kind of thought like a project name. And in our case that is ‘amazing-project’.
Basically origin is the default shortname that Git uses for a remote repository when you clone that remote repository. So it’s just the default.
In many cases you will have links to multiple remote repositories in your local repository and each of those will have a different shortname.
So final question, why don’t we just use the same name?
I will answer that question with another example. Suppose we have a friend who forks our remote repository so they can help us on our project. And let’s assume we want to be able to fetch code from their remote repository. We can use the command git remote add in order to add a link to their remote repository in our local repository.
In the above image you can see that I used the shortname friend to refer to my friend’s remote repository. You can also see that both of the remote repositories have the same project name amazing-project and that gives us one reason why the remote repository names in the remote server and the shortnames in our local repositories should not be the same!
There is a really helpful video 📹 that explains all of this that can be found here.