Как изменить репозиторий в visual studio

Обновлено: 06.07.2024

Я разрабатываю проект локально и использую локальный сервер svn для управления версиями в visual studio. Теперь я хочу переключиться на хостинг версий xp-dev, но не могу избавиться от привязок svn в моем решении? Есть ли простой способ дублировать решение без его настроек управления версиями или просто переключиться на другой svn (который полностью пуст)?

Edit: обратите внимание, что это предполагает, что вы пытаетесь перейти в новый репозиторий, отбросив всю историю, а не переместить репозиторий. Думая об этом, вы можете захотеть заменить удаление всех .SVN-папки с простым экспортом папки во вновь созданную рабочую область для нового РЕПО.

насколько мне известно, нет. Я бы, наверное, сделал это,

  • удалить все .SVN папки из вашего решения
  • создать папку для решения в новом РЕПО,
  • зацените
  • переместите текущее решение в эту папку,
  • загрузите решение в Visual Studio
  • используйте AnkhSvn, чтобы добавить его снова. Он должен учитывать тот факт, что он находится в каталоге subversioned и позволяет вам это делать.

есть переключатель/переместить встроенный:

  • Вид -> Ожидающие Изменения
  • нажмите раскрывающийся список, который показывает текущий url репозитория, или кнопку справа от этого
  • введите / перейдите к новому местоположению
  • появляется диалоговое окно, которое вы хотите переместить (потому что переключения здесь недостаточно)

также вы можете щелкнуть правой кнопкой мыши по решению или проекту, и в меню Subversion доступна опция "переключить проект"

попробуйте перейти в файл > Subversion > изменить управление версиями. и изменение URL привязки SCC.

изменить: Я вижу, что это не редактируется. Для этого может потребоваться перейти в командную строку.

в базовом каталоге введите следующую команду svn:

С вашими Speific URLs, конечно. Я бы рекомендовал прочитать на switch команда, чтобы Вы были уверены в том, что делаете. Когда вы снова откроете VS, AnkhSVN должен забрать новые привязки. Если вы добавили решение через меню Файл > Subversion может потребоваться изменить .sln файл. Просто откройте его в текстовом редакторе и измените все ваши старые URL репозитория на новый URL.

вы также можете установить TortoiseSVN и использовать контекстное меню для выполнения команды переместить. Это будет проще всего.

резервное копирование каталога перед любым из этих изменений, конечно.

другой способ-редактировать wc.db (файл SQLite) в вашем ".svn " папка, содержащая URL репозитория. Я использовал Firefox addon SQLite editor, тогда в репозитории таблиц есть только 1 строка, говорящая Ваш URL-адрес репозитория, измените его на новый хост и там вы идете.

мой случай был в том, что у меня новый компьютер с новым хостом, поэтому все мои проекты, добавленные в репозиторий SVN, имели и старый URL (старое имя хоста).

Я " экспортировал "из SVN, затем сделал" Добавить папку " в new repo в браузере SVN Repo, затем открыл .sln в Visual Studio.

в моем случае мне пришлось изменить URL-адрес SVN, потому что DNS не знал об имени хоста, поэтому мне пришлось использовать IP-адрес.

Вы можете редактировать свои хозяева файл, расположенный под: C:\Windows\System32\drivers\etc

Git является интерфейсом системы управления версиями по умолчанию в Visual Studio. Мы продолжаем расширять набор возможностей Git, постоянно анализируя результаты и учитывая ваши отзывы. Дополнительные сведения о недавно обновленных компонентах и ссылки на опрос, через который вы можете оставить свой отзыв, см. в записи блога, посвященной поддержке нескольких репозиториев в Visual Studio.

Теперь GIT является интерфейсом системы управления версиями по умолчанию в Visual Studio 2019. Начиная с версии 16.6 мы работаем над созданием набора функций на основе ваших отзывов. В версии 16.8 Git стал интерфейсом управления версиями по умолчанию для всех.

Мы продолжаем расширять набор возможностей Git в Visual Studio 2022. Дополнительные сведения о последнем обновлении компонентов см. в записи блога Поддержка нескольких репозиториев в Visual Studio.

Дополнительные сведения о Git

Использование GIT в Visual Studio

Мы подробно расскажем вам о том, как использовать новый интерфейс Git в Visual Studio. Однако если вы хотите сначала ознакомиться с кратким обзором, посмотрите следующее видео:

Длительность видео: 05:27 мин.

Существует три способа начать использование Git в Visual Studio для повышения производительности:

    . Если ваш код не связан с GIT, можно создать новый репозиторий GIT. . Если код, с которым вы хотите работать, не находится на вашем компьютере, можно клонировать любые существующие удаленные репозитории. . Если у вас уже есть код на компьютере, его можно открыть с помощью пункта меню Файл > Открыть > Решение/проект (или Папка). Visual Studio автоматически определяет, имеется ли инициализированный репозиторий GIT.

Начиная с версии 16.8 Visual Studio 2019 включает полностью интегрированный интерфейс для работы с учетными записями GitHub. Теперь вы можете добавить в цепочку ключей учетные записи GitHub и GitHub Enterprise. Вы сможете добавлять и использовать их так же, как и учетные записи Майкрософт. Это позволит упростить доступ к ресурсам GitHub в Visual Studio. Дополнительные сведения см. на странице Работа с учетными записями GitHub в Visual Studio.

Visual Studio включает полностью интегрированную учетную запись GitHub. Вы не только можете добавить учетные записи GitHub и GitHub Enterprise в цепочку ключей, но и использовать их так же, как учетные записи Майкрософт. Дополнительные сведения см. на странице Работа с учетными записями GitHub в Visual Studio.

Создание репозитория GIT

Если ваш код не связан с GIT, можно начать с создания нового репозитория GIT. Подробные сведения см. в разделе Создание репозитория в Visual Studio.

Если ваш код не связан с GIT, можно начать с создания нового репозитория GIT. Для этого в строке меню выберите GIT > Создать репозиторий GIT. Затем в диалоговом окне Создание репозитория GIT введите свои данные.

Диалоговое окно "Создание репозитория Git" в Visual Studio.

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

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

Клонирование существующего репозитория GIT

В Visual Studio процесс клонирования прост. Пошаговые инструкции см. в разделе Клонирование репозитория в Visual Studio.

В Visual Studio процесс клонирования прост. Если вы знаете URL-адрес репозитория, который нужно клонировать, можно вставить его в разделе Расположение репозитория, а затем выбрать место на диске, в которое будет клонирован репозиторий.

Диалоговое окно "Клонирование репозитория Git" в Visual Studio.

Если вы не знаете URL-адрес репозитория, в Visual Studio можно легко перейти к существующему репозиторию GitHub или Azure DevOps и выбрать его.

Открытие существующего локального репозитория

После клонирования или создания репозитория GIT Visual Studio обнаружит его и добавит в список Локальные репозитории в меню GIT.

В нем можно быстро открывать репозитории GIT и переключаться между ними.

Вариант "Локальные репозитории" в меню Git в Visual Studio.

Просмотр файлов в обозревателе решений

При клонировании репозитория или открытии локального репозитория Visual Studio переключается в этот контекст GIT, сохраняя и закрывая все ранее открытые решения и проекты. Обозреватель решений загружает папку в корне репозитория Git и проверяет дерево каталогов на наличие просматриваемых файлов. К ним относятся такие файлы, как CMakeLists.txt или файлы с расширением SLN.

Visual Studio настраивает представление в зависимости от файла, загруженного в обозреватель решений:

  • При клонировании репозитория, содержащего один SLN-файл, обозреватель решений напрямую загружает это решение.
  • Если обозреватель решений не обнаруживает файлов SLN в репозитории, по умолчанию он загружает представление папки.
  • Если репозиторий содержит несколько файлов SLN, то обозреватель решений выводит список доступных представлений для выбора.

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

Обозреватель решений с нажатой кнопкой "Переключить представления" в Visual Studio.

Окно "Изменения GIT"

GIT отслеживает изменения файлов в репозитории в процессе работы и разделяет файлы на три категории. Это те же изменения, которые отображаются при вводе команды git status в командной строке.

  • Файлы без изменений: эти файлы не были изменены с момента последней фиксации.
  • Измененные файлы: эти файлы изменились с момента последней фиксации, но еще не были подготовлены для следующей фиксации.
  • Промежуточные файлы: эти файлы содержат изменения, которые будут добавлены в следующую фиксацию.

В процессе работы Visual Studio отслеживает изменения в файлах проекта в разделе Изменения окна Изменения GIT.

Окно "Изменения Git" в Visual Studio.

Когда вы будете готовы подготовить изменения, нажмите кнопку + (плюс) для каждого из файлов, которые необходимо подготовить, или щелкните файл правой кнопкой мыши и выберите пункт Промежуточно сохранить. Можно также подготовить все измененные файлы одним щелчком мыши, используя кнопку "Промежуточно сохранить все" ( + ) в верхней части раздела Изменения.

При подготовке изменения Visual Studio создает раздел Подготовленные изменения. Только изменения из раздела Подготовленные изменения добавляются к следующей фиксации, которую можно выполнить, выбрав команду Зафиксировать промежуточные. Эквивалентная команда для этого действия — git commit -m "Your commit message" . Можно также отменить подготовку изменений, нажав кнопку – (минус). Эквивалентная команда для этого действия — git reset <file_path> для отмены размещения одного файла или git reset <directory_path> для отмены размещения всех файлов в каталоге.

Построчное сравнение версий файла в Visual Studio.

Выбор существующей ветви

В Visual Studio текущая ветвь отображается в селекторе в верхней части окна Изменения GIT.

Текущие ветви, которые можно просмотреть с помощью селектора в верхней части окна &quot;Изменения Git&quot; в Visual Studio.

Текущая ветвь также доступна в строке состояния в правом нижнем углу интегрированной среды разработки Visual Studio.

Текущие ветви, которые можно просмотреть с помощью строки состояния в правом нижнем углу интегрированной среды разработки Visual Studio.

В обоих местах можно переключаться между имеющимися ветвями.

Создание ветви

Можно также создать новую ветвь. Эквивалентная команда для этого действия — git checkout -b <branchname> .

Чтобы создать ветвь, достаточно ввести ее имя и указать существующую ветвь, на основе которой будет создана данная.

Диалоговое окно &quot;Создание новой ветви&quot; в Visual Studio.

В качестве базовой можно выбрать существующую локальную или удаленную ветвь. Если флажок Извлечь ветвь установлен, вы автоматически переключитесь на новую ветвь после ее создания. Эквивалентная команда для этого действия — git checkout -b <new-branch><existing-branch> .

Окно "Репозиторий GIT"

В Visual Studio имеется новое окно Репозиторий GIT, в котором представлены все сведения о репозитории, включая все ветви, удаленные репозитории и журналы фиксации. Открыть это окно можно из меню GIT или Вид либо непосредственно из строки состояния.

Управление ветвями

При выборе в меню GIT пункта Управление ветвями отображается древовидное представление ветвей в окне Репозиторий GIT. В левой области можно использовать контекстное меню для извлечения, создания, объединения ветвей, перемещения изменений из одной ветви в другую, отбора изменений и других действий. Щелкнув ветвь, можно просмотреть ее журнал фиксаций в правой области.

При принесении ветви в окне Изменения GIT под раскрывающемся списком ветвей отображается индикатор, который показывает количество фиксаций, которые не были вытянуты из удаленной ветви. Он также показывает число локальных фиксаций, которые не были отправлены.

Окно &quot;Изменения Git&quot; с индикатором под раскрывающимся списком в Visual Studio.

Окно &quot;Репозиторий Git&quot; с журналом фиксаций для ветви в Visual Studio.

Сведения о фиксации

Диалоговое окно &quot;Сведения о фиксации&quot; в Visual Studio.

Разрешение конфликтов слияния

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

Дополнительные сведения о конфликтах слияния и способах их обработки см. на странице Устранение конфликтов слияния.

В Visual Studio можно легко выявлять и устранять конфликты слияния. Во-первых, в верхней части окна Репозиторий GIT имеется золотистая информационная панель.

Но если ни одно из этих окон не открыто и вы переходите к файлу с конфликтами слияния, вам не придется искать следующий текст:

Редактор слияния

Редактор слияния в Visual Studio позволяет выполнять трехстороннее сравнение: в нем приводятся входящие изменения, текущие изменения и результат слияния. С помощью панели инструментов вверху редактора слияния можно переходить между конфликтами и просматривать результаты автоматического слияния в файле.

Редактор слияния в Visual Studio.

Настройка параметров GIT

Чтобы настроить параметры GIT на уровне репозитория, а также на глобальном уровне, выберите в строке меню пункты GIT > Параметры или Сервис > Параметры > Управление исходным кодом. Затем выберите нужные параметры.

Диалоговое окно &quot;Параметры&quot; Visual Studio IDE, в котором можно выбрать параметры персонализации и настройки.

Использование всех возможностей Team Explorer в Visual Studio

Новый интерфейс GIT — это система контроля версий по умолчанию в Visual Studio 2019 начиная с версии 16.8. Однако при желании этот интерфейс можно отключить. Чтобы вернуться в Team Explorer для Git, выберите Средства > Параметры > Среда > Функции предварительной версии и снимите флажок Новый пользовательский интерфейс Git.

Раздел &quot;Функции предварительной версии&quot; диалогового окна &quot;Параметры&quot; в Visual Studio.

Что дальше?

Хотя новый интерфейс Git теперь включен по умолчанию в Visual Studio 2019 начиная с версии 16.8, мы продолжаем добавлять новые функции для его совершенствования. Чтобы ознакомиться с новыми обновлениями интерфейса Git в предварительном выпуске, скачайте и установите его со страницы Visual Studio 2022, предварительная версия.

Мы продолжаем добавлять новые функции для расширения возможностей Git в Visual Studio. Дополнительные сведения о недавно обновленных компонентах и ссылки на опрос, через который вы можете оставить свой отзыв, см. в записи блога, посвященной поддержке нескольких репозиториев в Visual Studio.

Если у вас есть предложение, отправьте его нам. Мы будем рады вашему участию в работе над решением на портале Сообщества разработчиков.

терминология

Для ознакомления с терминологией Git, пожалуйста, обратитесь к моей предыдущей статье .

Настройка рабочей станции / Visual Studio

В последнее время Microsoft, похоже, признает Git в качестве ценной альтернативы своей проприетарной TFS (Team Foundation Server) тому, что касается контроля версий, и поэтому начала выпускать свое собственное расширение Visual Studio, которое в настоящее время находится в фазе «предварительного просмотра». Вы можете найти его здесь: Visual Studio Tools for Git (Microsoft)

Скотт Хансельман также написал об этом. Я быстро попробовал плагин и, хотя он отлично интегрируется с Visual Studio (в основном, как TFS), он все еще слишком большой бета на мой вкус.

В настоящее время лучшая альтернатива, которую я нашел, — это установить Git Extensions для Windows и Git Source Control Provider Visual Studio Plugin. В следующих разделах рассматриваются соответствующие установки.

Установите Git Extensions для Windows

Первым шагом является загрузка Git Extensions из соответствующего Google Code Repository .

Его мастер установки установит все, что вам нужно для полной настройки Git, установки Git (из git-scm ) в различные инструменты Unix для Git Bash.

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


Вы найдете этот контрольный список при открытии приложения Git Extensions, а затем перейдя к Plugins > Settings .

Установка Git Source Control Provider

Git Source Control Provider — это расширение с открытым исходным кодом, которое использует установку Git вашей машины и интегрирует ее в Visual Studio.

Если вы успешно настроили Git (следуя процедуре, упомянутой выше), вы можете продолжить и установить расширение Git Source Control Provider для Visual Studio. Возможно, самый простой способ — через диалоговое окно «Расширения и обновления», в котором вам нужно просто выполнить поиск «git source control».


В качестве одного из следующих шагов вам нужно правильно установить провайдера исходного кода в Visual Studio, поскольку у вас их может быть больше (например, TFS). Это делается в настройках Visual Studio в разделе «Source Control»:


Вы должны увидеть запись «Git Source Control Provider». Выберите это и подтвердите ваши настройки. После этого вы также должны убедиться, что он правильно ссылается на ваши установки Git и Git Extensions:


Настройка вашего ключа SSH

Многие репозитории Git-сервера допускают разные модели аутентификации:

Лично я предпочитаю последнее, так как ненавижу постоянно вводить свои учетные данные.

Чтобы получить руководство по генерации открытого ключа SSH, просто обратитесь к документации по GitHub, которая довольно подробно и хорошо объяснена.

Ну, вот и все, что касается установки. Теперь вы должны быть готовы начать.

Давайте начнем: создайте новый Git-репозиторий

Прежде всего, я просто создаю проект консоли, так как основное внимание здесь уделяется не созданию чего-то приятного и работающего, а скорее демонстрации интеграции Git в Visual Studio. Как только проект создан, мы можем настроить локальный репозиторий Git.

Это можно сделать, щелкнув правой кнопкой мыши по решению и выбрав «Создать Git Repository»:


После этой операции вы должны увидеть репозиторий для успешной настройки:


Более того, вы должны увидеть некоторые файлы, перечисленные в окне ожидающих изменений в Git:


Просто щелкните их все, добавьте содержательный комментарий и подтвердите их, нажав кнопку «Подтвердить».


Git SCP (отныне ссылающийся на расширение Git Source Control Provider для VS) предоставляет очень удобный и удобный механизм для просмотра реальной ситуации в вашем Git-репозитории, а именно путем визуализации лежащего в его основе дерева Git. Просто нажмите кнопку «История» …


… В окне «Ожидающие изменения» откроется новое окно с красивым графиком:


Пока что ничего особенного, но это показывает, что наш первоначальный коммит создал примечание, на которое (как и ожидалось) указывают HEAD и master. Нажатие на узел открывает дополнительные детали, такие как задействованные файлы и соответствующие различия.

.gitignore

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

Из коробки Git SCP уже создает тот, который подходит для Visual Studio. В противном случае вы можете обратиться к проекту Gitignore GitHub, который представляет собой набор файлов .gitignore для различных типов IDE и языков программирования.

Создать и зафиксировать новый файл

Просто добавьте новый файл в ваш проект Visual Studio. Я добавил Person.cs с некоторым контентом. Вы должны сразу увидеть изменения, перечисленные в окне Pending Changes.

Примечание. Вы можете открыть окно « Ожидающие изменения », щелкнув правой кнопкой мыши проект или файл решения Visual Studio и выбрав «Git (master)», а затем «Ожидающие изменения».

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

Наше дерево после коммита выглядит так:


Создать (особенность) ветку

Чтобы создать новую ветку, нажмите кнопку « Расширения Git» в окне ожидающих изменений, а затем « Создать ветку».


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


Примечание: мы также устанавливаем флажок «Оформить заказ после создания», и сразу же переключаемся на новую ветку. Это как-то похоже на git checkout -b <branch-name> команду на оболочке.

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


Более того, в окне Pending Changes мы теперь видим текущую ветвь, в которой мы находимся, которая является только что созданной «my-feature-branch».


Теперь мы можем изменить существующий файл — скажем, наш Person.cs — и зафиксировать его. Окно Pending Changes точно показывает разницу изменений до того, как мы их передадим


После внесения изменений дерево продвинулось и обратите внимание, что сейчас master и my-feature-branch указывают на разные места. HEAD находится в нашей ветви функций, поскольку она является текущей активной.


Слияние и разрешение конфликтов

Вернемся к мастеру . Мы можем сделать это — снова — используя кнопку ветви Checkout из меню «Git Extensions».


Мы должны выбрать в master качестве нашего филиала и продолжить.


Примечание: есть варианты того, как вы хотите обрабатывать любые локальные изменения, которые еще не были зафиксированы, то есть хранить их.

Дерево Git отражает это переключение на master ветку, так как оно HEAD теперь правильно указывает master снова.

Я разрабатываю проект локально и использую локальный сервер svn для управления версиями в Visual Studio. Теперь я хочу переключиться на управление версиями, размещенными на xp-dev, но не могу избавиться от привязок svn в моем решении? Есть ли простой способ дублировать решение без его настроек управления версиями или просто переключиться на другой svn (который полностью пуст)?

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

Не то, что я знаю из. Я бы, наверное, сделал это,

  • Удалите все папки .svn из вашего решения
  • Создайте папку для решения в новом репо,
  • Проверьте это,
  • Переместите текущее решение в эту папку,
  • Загрузите решение в Visual Studio
  • Используйте AnkhSvn, чтобы добавить его снова. Он должен уловить тот факт, что он находится в подрывном каталоге, и позволить вам это сделать.

Есть встроенный переключатель / перемещение:

  • Открыть просмотр -> Ожидающие изменения
  • Щелкните раскрывающийся список, в котором отображается текущий URL-адрес репозитория, или кнопку справа от него.
  • Введите / перейдите к новому месту
  • Появляется диалоговое окно, в котором вы хотите переехать (потому что переключения здесь недостаточно)

Также вы можете щелкнуть правой кнопкой мыши по решению или проекту, и в меню Subversion станет доступна опция «переключить проект».

Попробуйте перейти в File> Subversion> Change Source Control . и изменить URL привязки SCC.

РЕДАКТИРОВАТЬ: я вижу, что это не редактируется. Для этого вам может потребоваться перейти в командную строку.

В вашем базовом каталоге введите эту команду svn:

С вашими конкретными URL-адресами, конечно. Я бы рекомендовал прочитать о команде switch , чтобы вы были уверены в том, что делаете. Когда вы снова откроете VS, AnkhSVN должен получить новые привязки. Если вы добавили решение через меню File> Subversion, вам может потребоваться отредактировать файл .sln. Просто откройте его в текстовом редакторе и измените все URL-адреса старого репозитория на новый URL-адрес.

Вы также можете установить TortoiseSVN и использовать контекстное меню для выполнения команды "Переместить". Это будет проще всего.

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

Другой способ - отредактировать wc.db (файл SQLite) в папке ".svn", которая содержит URL-адрес репозитория. Я использовал редактор SQLITE надстройки Firefox, тогда в таблице REPOSITORY есть только одна строка, в которой указан URL-адрес вашего репозитория, измените его на новый хост и готово.

В моем случае у меня был новый компьютер с новым HOST, поэтому все мои проекты, добавленные в репозиторий SVN, имели старый URL (старое имя хоста).

Я «экспортировал» из SVN, затем сделал «Добавить папку» в новое репо в браузере репозитория SVN, затем открыл .sln в Visual Studio.

В моем случае мне пришлось изменить URL-адрес SVN, потому что DNS не знал об имени хоста, поэтому мне пришлось использовать IP-адрес.

Вы можете редактировать файл hosts , расположенный в: C:\Windows\System32\drivers\etc

Как изменить URI (URL) для удаленного репозитория Git?

Давайте внимательно посмотрим на Ford F-150 Custom 1978 года выпуска.

У меня есть репо (источник) на USB-ключе, который я клонировал на свой жесткий диск (локальный). Я переместил "origin" на NAS и успешно протестировал его клонирование отсюда.

На данный момент я вижу два решения:

отправьте все на usb-orign и снова скопируйте на NAS (подразумевает много работы из-за новых коммитов в nas-origin);

(видеть git help remote ) или вы можете редактировать .git/config и измените там URL-адреса. Вы не рискуете потерять историю, если не сделаете что-то очень глупое (и если вы беспокоитесь, просто сделайте копию своего репо, так как ваше репо является ваша история.)

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

Изменить хост для исходного сервера Git

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

См. Подробности на странице руководства.

Если вы используете старую версию, попробуйте следующее:

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

Отредактируйте .git/config файл в вашем рабочем каталоге. Вы должны увидеть что-то вроде:

Из моего ограниченного тестирования ( git pull origin; git push origin; gitx ) вроде все в порядке. И да, я знаю, что возиться с внутренностями git - дурной тон.

  • Плохой тон? Возможно. Но если ты нужно Чтобы сделать что-то, чего авторы не ожидали от кого-либо, иногда требуется возиться с внутренними компонентами. Но вы должны быть готовы принять последствия, если ошибетесь. Backup your local repository _before_ messing with git internals.
  • где я могу найти .git / config

(как вариант, откройте .git/config , искать [remote 'origin'] и отредактируйте url = линия.

Вы можете проверить его работу, проверив пульты:

В следующий раз, когда вы нажмете, вам нужно будет указать новую ветку восходящего потока, например:

См. Также: GitHub: изменение URL-адреса удаленного устройства

  • Мне не удалось установить новое происхождение, отредактировав .git / config. В нем говорится, что репозиторий git, указанный в URL-адресе, не является репозиторием git. После того, как я удалил и заново создал origin, все было хорошо. Однако я не искал git remote set-url как решение моей проблемы.
  • 1 +1 за полный ответ с git push -u команда. Может быть, это очевидно для других, но не для меня.

I шаг:- Измените текущий рабочий каталог на свой локальный проект.

2-й шаг:- Перечислите свои существующие пульты, чтобы узнать имя пульта, который вы хотите изменить.

4-й шаг:- Теперь убедитесь, что удаленный URL-адрес изменился.

git remote -v Проверить новый удаленный URL

Напишите следующую команду с вашего терминала репо:

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

git удаленный set-url

Как видно здесь,

  • 10 Добавляя ответ на вопрос десятилетней давности к двадцать одному другому ответу, действительно важно включить объяснение вашего ответа и указать, к какому новому аспекту вопроса относится ваш ответ. С ответами, которые представляют собой серию команд, полезно объяснить, что каждая из них делает и как отменить эффекты каждой из них, если это возможно. Отмена важна в том случае, если кто-то может выполнить первые несколько шагов, но затем обнаруживает ошибку на более позднем этапе.
  • 1 @JasonAller Я думаю, что это говорит само за себя, и это, безусловно, лучший ответ, остальные - шутка.

если вы клонировали, ваш локальный автоматически будет состоять,

удаленный URL-адрес, по которому он клонируется.

вы можете проверить это, используя git remote -v

если вы хотите внести в него изменения,

origin - ваша ветка

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

  • Я добавил несколько пультов дистанционного управления, поэтому git remote rm origin команда была необходима для удаления всех связанных URL. Затем сработала команда добавления.

Чтобы проверить удаленное соединение git:

Теперь установите для локального репозитория удаленный git:

Теперь, чтобы сделать это апстримом или push, используйте следующий код:

git push --set-upstream origin master -f

  • 1 Я нажимал, но github не показывал мою новую ветку. Что последний --set-upstream заставил это работать.

У вас есть много способов сделать это:

Приставка

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

Конфиг

Он находится в .git / config (в той же папке, что и репозиторий).

TortoiseGit



Затем просто отредактируйте URL.

SourceTree

Введите имя для удаленного пути.

Введите URL / путь для удаленного репозитория

Введите имя пользователя для службы хостинга удаленного репозитория.



исх. Служба поддержки

В Git Bash введите команду:

Введите учетные данные

Преимущество в том, что вы можете сделать git push автоматически, когда вы используете ssh-агент :

Поместите файл скрипта $HOME/.ssh/agent позволить ему работать ssh-add с помощью ожидать как показано ниже:


Поиск проблемы :

Вы можете столкнуться с этими ошибками при смене пульта ДУ. Нет такого пульта "[имя]"

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

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

Перейдите к корню проекта в локальном репозитории и проверьте существующие пульты:

Если ваш репозиторий использует SSH вы увидите что-то вроде:

Изменение URL-адреса выполняется с помощью git remote set-url . В зависимости от выхода git remote -v , вы можете изменить URL-адрес следующим образом:

В случае SSH, вы можете изменить URL-адрес с REPOSITORY.git к NEW_REPOSITORY.git нравиться:

ЗАМЕТКА: Если вы изменили GitHub username, вы можете выполнить тот же процесс, что и выше, чтобы обновить изменение имени пользователя, связанного с вашим репозиторием. Вам нужно будет только обновить USERNAME в git remote set-url команда.

Если вы используете TortoiseGit, выполните следующие действия:

  1. Перейдите в локальную папку оформления заказа и щелкните правой кнопкой мыши, чтобы перейти к TortoiseGit -> Settings
  2. На левой панели выберите Git -> Remote
  3. На правой панели выберите origin
  4. Теперь измените URL значение текстового поля, где когда-либо находится ваш новый удаленный репозиторий

Ваша ветка и все ваши локальные коммиты останутся нетронутыми, и вы сможете продолжать работать, как и раньше.

Чтобы изменение удаленный восходящий поток: git remote set-url origin

Чтобы Добавить больше апстримов: git remote add newplace

Так что вы можете выбирать, где работать git push origin
или же git push newplace

  • 1 Я не смог найти других упоминаний о работе в нескольких апстримах ..

Вы можете изменить URL-адрес, отредактировав файл конфигурации. Перейдите в корень вашего проекта:

Затем отредактируйте поле url и установите новый url. Сохраните изменения. Вы можете проверить изменения с помощью команды.

Удаление пульта

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

Для тех, кто хочет внести это изменение в Visual Studio 2019

Откройте Team Explorer (Ctrl + M)

Git -> Настройки репозитория


Если ваш репозиторий частный, тогда

проверь свою привилегию

в моем случае мне нужно проверить свое имя пользователя

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

проблема в моем разрешении у меня есть два частных сервера git и репозитории

эта вторая учетная запись является администратором этого нового репо, а первая - моей учетной записью пользователя по умолчанию, и я должен предоставить разрешение сначала

И в случае, если вам нужно переместить ваш локальный штат в новое происхождение:

Читайте также: