Измените расположение каталога репозитория Git.

С Git/Github для Windows, Если у меня есть репозиторий с этим каталогом:C:dir1dir2, Что мне нужно сделать, чтобы переместить РЕПО файлы C:dir1? Очевидно, что я могу физически копировать и вставлять файлы, но что мне нужно делать на стороне Git?

у меня есть это РЕПО на GitHub, и я использую Git Bash и GitHub для Windows.

9 ответов


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

Если вы используете GitHub для Windows, вы можете переместить репозиторий, используя метод, как указано выше. Однако, когда вы нажмете на репозиторий в приложении, он не сможет его найти. Чтобы решить эту проблему, просто нажмите на синий круг с помощью !, выберите Найти а затем перейдите в новый каталог.


Я не уверен в вопросе, поэтому вот два ответа:

если вы хотите переместить ваш репозиторий :

просто скопируйте весь репозиторий (с его ).

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

если вы хотите переместить файлы внутри репозиторий :

просто переместите файлы. Затем добавьте изменения, перечисленные в git status. Следующий commit сделает необходимые. Вы будете рады узнать, что ни один файл не будет дублироваться : перемещение файла в git почти бесплатно.


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

  1. закрыть GitHub for Windows и все другие приложения с открытыми файлами на ваш текущий путь к каталогу.
  2. переместите весь каталог, как указано выше, в новое расположение каталога.
  3. открыть GitHub for Windows и нажмите на синий (!) иконка "репозиторий не найден". Затем откроется диалоговое окно, и вы увидите кнопку "Найти его", где вы можете переместить новый путь к репозиторию.

хотя вопрос включает Git для Windows, это, кажется, лучший результат даже при поиске средств Visual Studio для Git (расширение в VS 2012, встроенная поддержка в VS 2013).

используя приведенные выше решения в качестве руководства, я определил, что Visual Studio Git Tools упрощает перемещение репозиториев (или даже всей структуры каталогов для всех репозиториев) локально.

1) Закройте Visual Studio. 2) переместите папку(ы) РЕПО в новое место. 3) Откройте Visual Studio. Откройте Team Исследователь. Переключитесь на вид "Connect" (значок plug вверху). 3a) если РЕПО все еще показывают старый путь, нажмите Обновить, чтобы принудительно обновить. 4) репо, которые были перемещены локально, больше не должны отображаться в "Локальные Репозитории Git". 5) Нажмите кнопку добавить (не новый или Клон) и выберите папку РЕПО добавить.

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

пример: E:\Repos\RepoA E:\Repos\RepoB E:\Repos\RepoC

в Visual Studio Team Explorer [добавить] > "E:\Repos\" > [Add] вернет все три в локальные репозитории.


Я использую плагин Visual Studio git, и у меня есть некоторые веб-сайты, работающие на IIS, которые я хотел переместить. Простой способ, который сработал для меня:

  1. Закройте Visual Studio.

  2. переместить код (включая папку git и т. д.)

  3. нажмите на файл решения из нового расположения

Это обновляет сопоставление с новым местоположением, используя существующие локальные файлы git, которые были перемещены. Однажды я вернулся. Visual Studio, мое окно Team Explorer показало репозитории в новом местоположении.


Это не сработало для меня. Я переместил РЕПО из (например) c:\project1\ to c:\repo\project1\ и Git для windows не показывает никаких изменений.

состояние git показывает ошибку, потому что один из подмодулей "не является репозиторием git" и показывает старый путь. например (имена изменены для защиты IP)

fatal: не репозиторий git: C:/project1/.git / модули/подпроект/subproject2 фатально: "git status --porcelain" не удалось в подпроекте подмодуля

Мне пришлось вручную редактировать этот.файлы git в подмодулях указывают на правильный относительный путь к РЕПО подмодуля (в основном РЕПО .каталог git / modules)


отчет из будущего: апрель 2018.

Я хотел нормализовать свои локальные репозитории на Mac и Windows, которые оказались в разных локальных папках.

клиент Windows 10 заставил меня пройти процедуру" не могу найти " > "найти", утомительную, но не ужасную. Также необходимо обновить локальный "путь клонирования" в настройках для дальнейшего использования.

когда я объединил папки mac, клиент Github просто нашел их снова - мне ничего не пришлось делать!


чтобы установить локальный путь по умолчанию для ваших репозиториев каждый раз, когда вы клонируете один из них, вы должны только один раз клонировать репозиторий и установить Localpath:/your-path, затем GitHub автоматически обнаружит этот путь как ваш по умолчанию.


Я использую GitHub Desktop для Windows, и я хотел переместить местоположение репозитория. Нет проблем, если вы переместите каталог и выберите новое местоположение в программном обеспечении. Но если вы устанавливаете плохой каталог, вы получаете фатальную ошибку и нет второго шанса сделать переезд в хороший. Так что ремонт. Вы должны скопировать файлы проекта в плохую директорию, сделать его reconize с помощью GitHub Desktop, после этого вы можете снова переместить свой проект в другую папку и сделать перемещение в программном обеспечении. Нет необходимости чтобы закрыть GitHub Desktop для этого, он будет проверять папки в live.

надеюсь, это поможет кто-то.