Перемещение репо на git на второй компьютер?

У меня есть проект с простым локальным репо git, и я хочу переместить этот проект (папки и т.д.) на другой компьютер и работать оттуда с этого момента. Я не хочу, чтобы что-то осталось на старой машине (кроме, конечно, других моих проектов git). Я хочу, чтобы это было так, как будто я все время работал на новой машине.

Можно ли просто переместить все файлы на этот компьютер или возникнет проблема с ключами? Должен ли я иметь один и тот же ключ на двух машинах? Если просто перемещать все папки не удается, что мне делать? Я хочу избежать проблем с настройкой и обучением использованию сервера, поскольку это кажется сложным, и я не хочу изменять свой рабочий процесс.

Ответ 1

Для вашего случая лучший способ сделать это - скопировать папку (копирование, scp, cp, robocopy - какой бы ни) на новый компьютер и удалить старую папку.

Я полностью не согласен с @Pablo Santa Cruz, что клонирование - это парадигма для того, что вы делаете. Нет. Вы перемещаете репо на новый компьютер.

Почему я не люблю клон для этой цели:

  • Он создает ветки удаленного отслеживания для каждой ветки в клонированном репозитории. Вы двигаетесь, и старое репо не работает.
  • Любые удаленные ветки и другие ссылки полностью игнорируются.
  • Вы не получите свои крючки, если у вас есть, и вы могли бы забыть, что у вас есть их!
  • Вы не можете получить "потерянные" коммиты и т.д., используя git reflog или другие средства. Не может быть большой проблемой, особенно если репо действовало как сервер, но что-то, о чем нужно знать.

Если вы ищете способы резервного копирования репозитория git, git клон не будет в верхних ответах. Поэтому он не должен использоваться для перемещения репо! Я также чувствую, что просто git clone не может быть правильным ответом, потому что git clone имеет параметр --mirror, который сохраняет репо, что означает, что репо git clone отличается от репо git clone --mirror (кроме того, различия в основном относятся к тем, о которых я упоминал выше). Я бы сделал копию, потому что я знаю, что получаю с скопированным репо - тем же самым репо!

Когда нужно рассмотреть git clone: ​​

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

Ответ 2

Да, достаточно скопировать данные на другую машину. Использование git clone - это почти то же самое, но он будет настраивать компьютер, который вы клонируете, из удаленного источника, что может быть не таким, каким вы хотите.

Ответ 3

Во время работы над проектом вы вынуждены перейти на новый компьютер.

  1. Сохраняйте файлы и копируйте файлы на новый компьютер
  2. На новом компьютере установите git и создайте ssh-ключи
  3. В каждой папке проекта запустите этот

    git remote update

Ответ 4

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

Ответ 5

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

На машине назначения:

$ git clone git://your-repo/proj proj

Вместо использования git:// вы также можете использовать протоколы ssh:// или http:// для доступа к репозиторию. Для получения дополнительной информации см. Руководство git.