Как удалить удаленный репозиторий git

от admin

How to remove a remote replace git repository

How to remove remote origin — Change or replace new address/url for remote git repository

1- First Solution:

Suppose you have two remote git repositories, origin and destination and are going to remove destination

Note: git remote rm does not delete the remote repository from the server. It simply removes the remote and its references from your local repository.

To remove the origin remote git repository you can do the same:

2- Second Solution:

Replace new address / set new url without Removing remote git

In order not to remove the remote git repository and just replace the new address do this:

git remote

В системе SVN используется единый централизованный репозиторий, служащий центром связи для разработчиков. Совместная работа ведется путем передачи наборов изменений между рабочими копиями разработчиков и центральным репозиторием. Однако модель распределенной совместной работы в Git предполагает, что каждый разработчик использует собственную копию репозитория со своей локальной историей и структурой веток. Обычно пользователи делятся не отдельными наборами изменений, а сериями коммитов. Вместо того чтобы выполнять коммит одного набора изменений из рабочей копии в центральный репозиторий, Git позволяет передавать между репозиториями целые ветки.

Команда git remote входит в состав системы, отвечающей за синхронизацию изменений. Записи, зарегистрированные с помощью команды git remote , используются в сочетании с командами git fetch , git push и git pull . Все эти команды отвечают за свою часть работы по выполнению синхронизации. Подробнее можно узнать, пройдя по соответствующим ссылкам.

git remote

Команда git remote позволяет создавать, просматривать и удалять подключения к другим репозиториям. Удаленные подключения скорее похожи на закладки, чем на прямые ссылки на другие репозитории. Они служат удобными именами, с помощью которых можно сослаться на не очень удобный URL-адрес, а не предоставляют доступ к другому репозиторию в режиме реального времени.

Например, на следующем рисунке изображены два удаленных подключения из вашего репозитория к центральному репозиторию и репозиторию другого разработчика. Вместо того, чтобы ссылаться на них по их полным URL-адресам, вы можете передавать командам Git только ярлыки origin и john.

Обзор использования git remote

По сути, команда git remote — это интерфейс для управления списком записей об удаленных подключениях, которые хранятся в файле /.git/config репозитория. Для просмотра текущего состояния списка удаленных подключений используются следующие команды.

Просмотр конфигураций удаленных репозиториев Git

Список ваших удаленных подключений к другим репозиториям.

Аналогично команде выше, но включает URL-адрес каждого подключения.

Создание и изменение конфигураций удаленных репозиториев Git

Команда git remote также предоставляет удобный способ изменения файла /.git/config репозитория. Перечисленные ниже команды позволяют управлять подключениями к другим репозиториям и изменять файл /.git/config репозитория. Такого же результата можно достичь, напрямую отредактировав файл /.git/config с помощью текстового редактора.

Создание нового подключения к удаленному репозиторию. После добавления удаленного репозитория имя <name> можно использовать в качестве удобного ярлыка для адреса <url> в других командах Git.

Удаление подключения к удаленному репозиторию с именем <name> .

Переименование удаленного подключения с имени <old-name> на <new-name> .

Обсуждение git remote

Git предоставляет каждому разработчику полностью изолированную среду разработки. Информация не передается между репозиториями автоматически. Вместо этого разработчикам нужно вручную загружать вышестоящие коммиты в локальный репозиторий или вручную отправлять локальные коммиты обратно в центральный репозиторий. Команда git remote представляет собой простой способ передачи URL-адресов в эти команды обмена.

Удаленное подключение к origin

В процессе клонирования с помощью команды git clone автоматически создается удаленное подключение к исходному репозиторию (такое соединение называется origin). Это позволяет разработчикам, создающим локальную копию центрального репозитория, легко загружать вышестоящие изменения или публиковать локальные коммиты. Именно поэтому большинство проектов на основе Git называют свой центральный репозиторий origin.

URL-адреса репозиториев

Git поддерживает различные способы ссылки на удаленный репозиторий. Два наиболее простых способа доступа к удаленному репозиторию: протоколы HTTP и SSH. Протокол HTTP — простой способ разрешить к репозиторию анонимный доступ только для чтения. Пример ниже.

Однако HTTP-адрес, как правило, не позволяет отправлять коммиты (в любом случае вы не захотите разрешать анонимную отправку изменений с помощью команды push). Чтобы использовать доступ для чтения и записи следует использовать протокол SSH:

Вам понадобится лишь действующий аккаунт SSH на хост-машине, а в остальном Git поддерживает аутентифицированный доступ через SSH по умолчанию. Необходимые URL-адреса предоставляются современными безопасными решениями для хостинга от сторонних провайдеров, например Bitbucket.com.

Команды git remote

Команда git remote — одна из многих команд Git, которые принимают дополнительные «подкоманды». Ниже рассмотрены наиболее часто используемые подкоманды git remote .

Добавляет запись к ./.git/config для удаленного репозитория с именем <name> по URL-адресу <url> .

Принимает параметр -f , который запустит команду git fetch сразу после создания записи об удаленном репозитории.

Принимает параметр —tags , который немедленно запустит команду git fetch и импортирует все теги из удаленного репозитория.

Обновляет ./.git/config для переименования записи с <OLD> на <NEW> . При этом обновляются все удаленно отслеживаемые ветки и настройки конфигурации удаленного репозитория.

Изменяет ./.git/config и удаляет удаленный репозиторий с именем <NAME> . При этом удаляются все удаленно отслеживаемые ветки и настройки конфигурации удаленного репозитория.

Вывод URL-адресов для записи об удаленном репозитории.

Принимает параметр —push , поскольку URL-адреса чаще отправляют с помощью команды push, а не извлекают с помощью fetch.

При указании параметра —all будут перечислены все URL-адреса для данного удаленного репозитория.

Выводит общую информацию об удаленном репозитории с именем <NAME> .

Удаляет из репозитория <NAME> все локальные ветки, которые отсутствуют в удаленном репозитории.

Принимает параметр —dry-run , который выводит список удаляемых веток, но на самом деле не удаляет их.

Примеры git remote

Зачастую бывает удобно иметь подключение не только к репозиторию origin, но и к репозиториям коллег. Например, если ваш коллега Джон поддерживает общедоступный репозиторий на dev.example.com/john.git , вы можете добавить подключение следующим образом:

Доступа к индивидуальным репозиториям разработчиков позволяет вести совместную работу за пределами центрального репозитория. Это может быть очень полезно для небольших команд, работающих над большим проектом.

Просмотр удаленных репозиториев

По умолчанию команда git remote отображает ранее сохраненные удаленные подключения к другим репозиториям. Создается однострочный список закладок с именами удаленных репозиториев.

При вызове git remote с параметром -v будет выведен список закладок с именами и соответствующими URL-адресами репозиториев. Параметр -v расшифровывается как «verbose» — подробный. Ниже приведен пример подробного вывода команды git remote .

Добавление удаленных репозиториев

Команда git remote add используется для создания записи о новом подключении к удаленному репозиторию. После добавления удаленного репозитория имя можно использовать в качестве удобного ярлыка для адреса в других командах Git. Дополнительные сведения о принятом синтаксисе URL-адресов см. в разделе «URL-адреса репозиториев» ниже. Эта команда создаст новую запись в файле ./.git/config репозитория. Ниже приведен пример обновления этого файла конфигурации.

Проверка удаленного репозитория

Для получения подробного вывода о конфигурации удаленного репозитория к команде git remote можно добавить подкоманду show. Вывод будет содержать список веток, связанных с удаленным репозиторием, а также конечных точек, подключенных для извлечения (fetch) и отправки (push).

Получение и извлечение данных из удаленных репозиториев Git

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

Отправка данных в удаленные репозитории Git

Для записи данных в удаленный репозиторий используется команда git push .

В этом примере состояние локальной ветки <branch-name> передается в удаленный репозиторий, обозначенный как <remote-name> .

Переименование и удаление удаленных репозиториев

Принцип работы команды git remote rename очевиден из названия. В результате ее выполнения происходит переименование удаленного подключения с имени <old-name> на <new-name> . Кроме того, изменяется контент ./.git/config для переименования записи для удаленного репозитория.

Команда git remote rm удаляет подключение к удаленному репозиторию, обозначенному с помощью параметра <name> . Чтобы показать работу команды, «отменим» добавление из последнего примера. После выполнения команды git remote rm remote_test мы увидим, что запись [remote «remote_test»] удалена из контента ./.git/config .

Управление удаленными репозиториями

Узнайте, как работать с локальными репозиториями на компьютере и удаленными репозиториями, размещенными в GitHub.

Добавление удаленного репозитория

Чтобы добавить новый удаленный репозиторий, выполните команду git remote add в терминале в каталоге, в котором хранится репозиторий.

Команда git remote add принимает два аргумента:

  • имя удаленного репозитория, например, origin ;
  • URL-адрес удаленного репозитория, например, https://github.com/OWNER/REPOSITORY.git .

Дополнительные сведения о том, какой URL-адрес следует использовать, см. в разделе Сведения об удаленных репозиториях.

Устранение неполадок: удаленный источник уже существует

Эта ошибка означает, что вы попытались добавить удаленный репозиторий с именем, которое уже существует в локальном репозитории.

Возможные пути устранения проблемы указаны ниже.

  • Используйте другое имя для нового удаленного репозитория.
  • Переименуйте существующий удаленный репозиторий перед добавлением нового удаленного репозитория. Дополнительные сведения см. в разделе Переименование удаленного репозитория ниже.
  • Удалите существующий удаленный репозиторий перед добавлением нового удаленного репозитория. Дополнительные сведения см. в разделе Удаление удаленного репозитория ниже.

Изменение URL-адреса удаленного репозитория

Команда git remote set-url изменяет существующий URL-адрес удаленного репозитория.

Совет: Сведения о различиях между URL-адресами HTTPS и SSH см. в разделе Сведения об удаленных репозиториях.

Команда git remote set-url принимает два аргумента:

  • Имя существующего удаленного репозитория. Например, к распространенным вариантам относятся origin и upstream .
  • Новый URL-адрес удаленного репозитория. Пример:
    • Если вы переходите на протокол HTTPS, URL-адрес может выглядеть так:
    • Если вы переходите на SSH, URL-адрес может выглядеть так:

    Переключение удаленных URL-адресов с SSH на HTTPS

    1. Откройте Терминал Терминал GIT Bash .
    2. Измените текущий рабочий каталог на локальный проект.
    3. Выведите список существующих удаленных объектов, чтобы получить имя удаленного репозитория, которое требуется изменить.
    4. Переключите URL-адрес удаленного репозитория с SSH на HTTPS, выполнив команду git remote set-url .
    5. Убедитесь, что URL-адрес удаленного репозитория изменен.

    При следующем выполнении команд git fetch , git pull и git push для удаленного репозитория вам будет предложено указать имя пользователя и пароль GitHub. Когда Git предложит ввести пароль, введите personal access token. Кроме того, можно использовать вспомогательное средство учетных данных, например диспетчер учетных данных Git. Проверка подлинности на основе пароля для Git была удалена в пользу более безопасных методов проверки подлинности. Дополнительные сведения см. в разделе Создание личного маркера доступа.

    Вы можете использовать вспомогатель учетных данных , чтобы Git запоминал ваше имя пользователя GitHub и personal access token при каждом разговоре с GitHub.

    Переключение удаленных URL-адресов с HTTPS на SSH

    1. Откройте Терминал Терминал GIT Bash .
    2. Измените текущий рабочий каталог на локальный проект.
    3. Выведите список существующих удаленных объектов, чтобы получить имя удаленного репозитория, которое требуется изменить.
    4. Переключите URL-адрес удаленного репозитория с HTTPS на SSH, выполнив команду git remote set-url .
    5. Убедитесь, что URL-адрес удаленного репозитория изменен.

    Устранение неполадок: удаленный репозиторий «[имя]» отсутствует

    Эта ошибка означает, что удаленного репозитория, который вы пытались изменить, не существует:

    Убедитесь, что вы правильно указали имя удаленного репозитория.

    Переименование удаленного репозитория

    Используйте команду git remote rename для переименования существующего удаленного репозитория.

    Команда git remote rename принимает два аргумента:

    • имя существующего удаленного репозитория, например, origin ;
    • новое имя удаленного репозитория, например, destination .

    Пример переименования удаленного репозитория

    В этих примерах предполагается, что клонирование выполняется с помощью HTTPS (это рекомендуемый вариант).

    Устранение неполадок: не удалось переименовать раздел конфигурации «remote.[старое имя]» в «remote.[новое имя]»

    Эта ошибка означает, что удаленного репозитория с указанным старым именем не существует.

    Вы можете проверить существующие удаленные репозитории, выполнив команду git remote -v :

    Устранение неполадок: удаленный репозиторий [новое имя] уже существует

    Эта ошибка означает, что удаленный репозиторий с именем, которое вы хотите использовать, уже существует. Чтобы решить эту проблему, используйте другое имя удаленного репозитория или переименуйте имеющийся удаленный репозиторий.

    Удаление удаленного репозитория

    Чтобы удалить удаленный URL-адрес из репозитория, используйте команду git remote rm .

    Команда git remote rm принимает один аргумент:

    • имя удаленного репозитория, например, destination .

    При удалении удаленного URL-адреса из репозитория выполняется только отмена привязки для локальных и удаленных репозиториев. Сам удаленный репозиторий не удаляется.

    Пример удаления удаленного репозитория

    В этих примерах предполагается, что клонирование выполняется с помощью HTTPS (это рекомендуемый вариант).

    Примечание. Команда git remote rm не удаляет удаленный репозиторий с сервера. Она просто удаляет удаленный репозиторий и его ссылки из локального репозитория.

    Устранение неполадок. Не удалось удалить раздел конфигурации «remote.[имя]»

    Эта ошибка означает, что удаленного репозитория, который вы пытались удалить, не существует:

    Как удалить удаленный репозиторий git

    Git doesn’t have a central server like Subversion. All of the commands so far have been done locally, just updating a local database. To collaborate with other developers in Git, you have to put all that data on a server that the other developers have access to. The way Git does this is to synchronize your data with another repository. There is no real difference between a server and a client — a Git repository is a Git repository and you can synchronize between any two easily.

    Once you have a Git repository, either one that you set up on your own server, or one hosted someplace like GitHub, you can tell Git to either push any data that you have that is not in the remote repository up, or you can ask Git to fetch differences down from the other repo.

    You can do this any time you are online, it does not have to correspond with a commit or anything else. Generally you will do a number of commits locally, then fetch data from the online shared repository you cloned the project from to get up to date, merge any new work into the stuff you did, then push your changes back up.

    In a nutshell you can update your project with git fetch and share your changes with git push . You can manage your remote repositories with git remote .

    docs book git remote list, add and delete remote repository aliases

    Unlike centralized version control systems that have a client that is very different from a server, Git repositories are all basically equal and you simply synchronize between them. This makes it easy to have more than one remote repository — you can have some that you have read-only access to and others that you can write to as well.

    So that you don’t have to use the full URL of a remote repository every time you want to synchronize with it, Git stores an alias or nickname for each remote repository URL you are interested in. You use the git remote command to manage this list of remote repos that you care about.

    git remote list your remote aliases

    Without any arguments, Git will simply show you the remote repository aliases that it has stored. By default, if you cloned the project (as opposed to creating a new one locally), Git will automatically add the URL of the repository that you cloned from under the name ‘origin’. If you run the command with the -v option, you can see the actual URL for each alias.

    You see the URL there twice because Git allows you to have different push and fetch URLs for each remote in case you want to use different protocols for reads and writes.

    git remote add add a new remote repository of your project

    If you want to share a locally created repository, or you want to take contributions from someone else’s repository — if you want to interact in any way with a new repository, it’s generally easiest to add it as a remote. You do that by running git remote add [alias] [url] . That adds [url] under a local remote named [alias] .

    For example, if we want to share our Hello World program with the world, we can create a new repository on a server (Using GitHub as an example), which should give you a URL, in this case «git@github.com:schacon/hw.git». To add that to our project so we can push to it and fetch updates from it we would do this:

    Like the branch naming, remote alias names are arbitrary — just as ‘master’ has no special meaning but is widely used because git init sets it up by default, ‘origin’ is often used as a remote name because git clone sets it up by default as the cloned-from URL. In this case we’ll name the remote ‘github’, but you could name it just about anything.

    git remote rm removing an existing remote alias

    Git addeth and Git taketh away. If you need to remove a remote — you are not using it anymore, the project is gone, etc — you can remove it with git remote rm [alias] .

    git remote rename [old-alias] [new-alias] rename remote aliases

    If you want to rename remote aliases without having to delete them and add them again you can do that by running git remote rename [old-alias] [new-alias] . This will allow you to modify the current name of the remote.

    In a nutshell with git remote you can list our remote repositories and whatever URL that repository is using. You can use git remote add to add new remotes, git remote rm to delete existing ones or git remote rename [old-alias] [new-alias] to rename them.

    git remote set-url update an existing remote URL

    Should you ever need to update a remote’s URL, you can do so with the git remote set-url command.

    In addition to this, you can set a different push URL when you include the —push flag. This allows you to fetch from one repo while pushing to another and yet both use the same remote alias.

    Internally, the git remote set-url command calls git config remote , but has the added benefit of reporting back any errors. git config remote on the other hand, will silently fail if you mistype an argument or option and not actually set anything.

    For example, we’ll update the github remote but instead reference it as guhflub in both invocations.

    In a nutshell, you can update the locations of your remotes with git remote set-url . You can also set different push and fetch URLs under the same remote alias.

    docs book git fetch download new branches and data from a remote repository

    docs book git pull fetch from a remote repo and try to merge into the current branch

    Git has two commands to update itself from a remote repository. git fetch will synchronize you with another repo, pulling down any data that you do not have locally and giving you bookmarks to where each branch on that remote was when you synchronized. These are called «remote branches» and are identical to local branches except that Git will not allow you to check them out — however, you can merge from them, diff them to other branches, run history logs on them, etc. You do all of that stuff locally after you synchronize.

    The second command that will fetch down new data from a remote server is git pull . This command will basically run a git fetch immediately followed by a git merge of the branch on that remote that is tracked by whatever branch you are currently in. Running the fetch and merge commands separately involves less magic and less problems, but if you like the idea of pull , you can read about it in more detail in the official docs.

    Assuming you have a remote all set up and you want to pull in updates, you would first run git fetch [alias] to tell Git to fetch down all the data it has that you do not, then you would run git merge [alias]/[branch] to merge into your current branch anything new you see on the server (like if someone else has pushed in the meantime). So, if you were working on a Hello World project with several other people and wanted to bring in any changes that had been pushed since we last connected, we would do something like this:

    Here we can see that since we last synchronized with this remote, five branches have been added or updated. The ‘ada’ and ‘lisp’ branches are new, where the ‘master’, ‘c-langs’ and ‘java’ branches have been updated. In our example case, other developers are pushing proposed updates to remote branches for review before they’re merged into ‘master’.

    You can see the mapping that Git makes. The ‘master’ branch on the remote repository becomes a branch named ‘github/master’ locally. That way you can merge the ‘master’ branch on that remote into the local ‘master’ branch by running git merge github/master . Or, you can see what new commits are on that branch by running git log github/master ^master . If your remote is named ‘origin’ it would be origin/master instead. Almost any command you would run using local branches you can use remote branches with too.

    If you have more than one remote repository, you can either fetch from specific ones by running git fetch [alias] or you can tell Git to synchronize with all of your remotes by running git fetch —all .

    In a nutshell you run git fetch [alias] to synchronize your repository with a remote repository, fetching all the data it has that you do not into branch references locally for merging and whatnot.

    docs book git push push your new branches and data to a remote repository

    To share the cool commits you’ve done with others, you need to push your changes to the remote repository. To do this, you run git push [alias] [branch] which will attempt to make your [branch] the new [branch] on the [alias] remote. Let’s try it by initially pushing our ‘master’ branch to the new ‘github’ remote we created earlier.

    Pretty easy. Now if someone clones that repository they will get exactly what we have committed and all of its history.

    What if you have a topic branch like the ‘erlang’ branch created earlier and want to share just that? You can just push that branch instead.

    Now when people clone or fetch from that repository, they’ll get an ‘erlang’ branch they can look at and merge from. You can push any branch to any remote repository that you have write access to in this way. If your branch is already on the server, it will try to update it, if it is not, Git will add it.

    The last major issue you run into with pushing to remote branches is the case of someone pushing in the meantime. If you and another developer clone at the same time, you both do commits, then she pushes and then you try to push, Git will by default not allow you to overwrite her changes. Instead, it basically runs git log on the branch you’re trying to push and makes sure it can see the current tip of the server’s branch in your push’s history. If it can’t see what is on the server in your history, it concludes that you are out of date and will reject your push. You will rightly have to fetch, merge then push again — which makes sure you take her changes into account.

    This is what happens when you try to push a branch to a remote branch that has been updated in the meantime:

    You can fix this by running git fetch github; git merge github/master and then pushing again.

    In a nutshell you run git push [alias] [branch] to update a remote repository with the changes you’ve made locally. It will take what your [branch] looks like and push it to be [branch] on the remote, if possible. If someone else has pushed since you last fetched and merged, the Git server will deny your push until you are up to date.

    Читать:
    Whirlpool awt 2284 1 800 как выключить

Похожие статьи