С Git / Github для Windows, если у меня есть репозиторий с этим каталогом: C:\dir1\dir2
что мне нужно сделать, чтобы переместить файлы репо в C:\dir1
? Очевидно, я могу физически копировать и вставлять файлы, но что мне нужно делать на стороне Git?
У меня есть этот репозиторий на GitHub, и я использую Git Bash и GitHub для Windows.
git
github
github-for-windows
Микаэль Энгвер
источник
источник
Ответы:
Просто скопируйте все содержимое рабочего каталога (включая скрытый
.git
каталог). Это переместит весь рабочий каталог в новый каталог и не повлияет на удаленный репозиторий на GitHub.Если вы используете GitHub для Windows, вы можете переместить хранилище, используя метод, описанный выше. Однако, когда вы щелкнете по хранилищу в приложении, оно не сможет найти его. Чтобы решить эту проблему, просто нажмите на синий кружок с!, Выберите «Найти» и затем перейдите в новый каталог.
источник
Я не уверен в этом вопросе, поэтому вот два ответа:
Если вы хотите переместить свой репозиторий:
Просто скопируйте весь репозиторий (с его
.git
каталогом).В структуре нет абсолютного пути,
.git
и ничто не мешает его перемещению, поэтому после перемещения вам нечего делать. Все ссылки на github (см. В.git/config
) будут работать как прежде.Если вы хотите переместить файлы в хранилище:
Просто переместите файлы. Затем добавьте изменения, перечисленные в
git status
. Следующееcommit
сделает необходимое. Вы будете рады узнать, что ни один файл не будет продублирован: перемещение файла в git практически бесплатно.источник
.git
каталоге.Если вы используете
GitHub Desktop
, то просто выполните следующие действия:GitHub Desktop
и все другие приложения с открытыми файлами по вашему текущему пути к каталогу.GitHub Desktop
и нажмите на синий (!) Значок «хранилище не найдено». Затем откроется диалоговое окно, и вы увидите кнопку «Найти ...», которая откроет всплывающее окно, позволяющее направить его путь к новому местоположению.источник
Хотя вопрос касается Git для Windows, это, кажется, лучший результат даже при поиске инструментов Visual Studio для Git (расширение в VS 2012, встроенная поддержка в VS 2013).
Используя приведенные выше решения в качестве руководства, я определил, что Visual Studio Git Tools делает перемещение репозиториев (или даже всю структуру каталогов для всех репозиториев) локально очень простым.
1) Закройте Visual Studio. 2) Переместите папку Repo в новое место. 3) Откройте Visual Studio. Откройте Team Explorer. Переключитесь на вид «Подключить» (значок штекера вверху). 3a) Если Repos все еще показывает старый путь, нажмите «Обновить» для принудительного обновления. 4) Репо, которые были перемещены локально, больше не должны отображаться в « Local Git Repositories ». 5) Нажмите « Добавить» (не новый или не клон) и выберите папку репо для добавления.
На шаге 5 вы просто указываете путь поиска, и поиск автоматически включает все подпапки. Если у вас есть несколько репо, организованных под одним корнем (независимые репозитории, имеющие только одну и ту же родительскую папку), тогда выбор родителя будет включать все репо, найденные ниже этого.
Пример: E: \ Repos \ RepoA E: \ Repos \ RepoB E: \ Repos \ RepoC
В Visual Studio Team Explorer [Добавить]> «E: \ Repos \»> [Добавить] вернет все три в локальные репозитории.
источник
Хотя все предыдущие ответы, кажется, говорят, что вы можете просто переместить каталог, и в структуре .git нет абсолютных путей. Я обнаружил, что это не соответствует действительности при использовании git от Cygwin.
Когда я переместил свое git-репо (фактически я восстановил его из резервной копии, но на другой диск, так как структура моей системы изменилась в моей новой системе). Я получил сообщение об ошибке вроде
Я использовал grep, чтобы найти, что в моем файле .git / config в разделе [core] есть переменная рабочего дерева, которая содержит абсолютный путь к моему git-репо. Изменение этого исправило проблему для меня.
источник
Я использую плагин Visual Studio git, и у меня есть несколько сайтов, работающих на IIS, которые я хотел переместить. Простой способ, который работал для меня:
Закройте Visual Studio.
Переместить код (включая папку git и т. Д.)
Нажмите на файл решения в новом месте
Это обновляет сопоставление с новым местоположением, используя существующие локальные файлы git, которые были перемещены. Как только я вернулся в Visual Studio, мое окно Team Explorer показывало репозитории в новом месте.
источник
Я использую Github Desktop для Windows, и я хотел переместить местоположение хранилища. Нет проблем, если вы переместите свой каталог и выберите новое место в программном обеспечении. Но если вы установите плохую директорию, вы получите фатальную ошибку, и у вас не будет второго шанса переместиться в хорошую. Так что починить это. Вы должны скопировать файлы проекта в неверный каталог, выполнить его реконфигурацию с помощью Github Desktop, после чего вы можете снова переместить свой проект в другую папку и выполнить перемещение в программном обеспечении. Для этого не нужно закрывать Github Desktop, он будет проверять папки в режиме реального времени.
Надеюсь, это поможет кому-то.
источник
Это не сработало для меня. Я переместил репозиторий из (например) c: \ project1 \ в c: \ repo \ project1 \, и Git для windows не показывает никаких изменений.
Состояние git показывает ошибку, потому что один из подмодулей "не является хранилищем git" и показывает старый путь. например (имена изменены для защиты IP)
Неустранимый: Не Git-репозиторий: C: /project1/.git/modules/subproject/subproject2 Неустранимый: «Git Status --porcelain» не удалось в суб-модуле подпроекта
Мне пришлось вручную редактировать файлы .git в подмодулях, чтобы указать правильный относительный путь к репо подмодуля (в каталоге .git / modules основного репо)
источник
Репортаж из будущего: апрель 2018 г.
Я хотел нормализовать свои локальные репозитории на моем Mac и Windows, которые оказались в разных локальных папках.
Клиент Windows 10 заставил меня пройти процедуру «Не могу найти»> «Найти», утомительно, но не ужасно. Также необходимо обновить локальный «путь клонирования» в настройках для дальнейшего использования.
Когда я консолидировал папки Mac, клиент Github просто нашел их снова - мне не пришлось ничего делать!
источник
Чтобы установить локальный путь по умолчанию для ваших репозиториев при каждом клонировании одного из них, вы должны клонировать репозиторий только один раз и установить Localpath: / your-path, затем github автоматически определит этот путь как ваш путь по умолчанию.
источник
Более подход, основанный на Git, заключается в внесении изменений в локальную копию с использованием
cd
или копированием и вставкой, а затем передавать эти изменения из локального в удаленное хранилище.Если вы попытаетесь проверить состояние вашего локального репо, он может показать «неотслеживаемые изменения», которые на самом деле являются перемещенными файлами. Чтобы принудительно протолкнуть эти изменения, вам нужно подготовить эти файлы / каталоги с помощью
Надеюсь, поможет.
источник