Я довольно новичок в использовании git, и мне было интересно, можно ли копировать Git-репозиторий с помощью общих команд UNIX (например, cp
или tar
/ untag
), а не через git clone
.
Я нахожусь в ситуации, когда у меня есть производственная среда (виртуальная среда Python), в которой какой-то код проверен в git. Мне интересно, если это плохая идея с точки зрения мерзавца копировать всю среду, используя tar
или что-то. Такой подход был бы удобен для создания быстрой копии кодовой базы / среды.
Меня беспокоит то, что, возможно, git clone ассоциирует какой-то уникальный идентификатор с рабочей копией, что может вызвать конфликты, если существуют две рабочие копии, где одна была скопирована из другой файловой системы.
Ответы:
Это прекрасно.
git
хранит всю свою историю, коммиты и т. д. на месте - это фундаментальное свойство DCVS.Технически говоря, он
git
может нормально работать с копируемыми репозиториями, работающими повсюду, потому что вся суть DCVS в том, что ему не нужно знать, что происходит вне какого-либо конкретного репозитория , и на самом деле нет, если вы не сообщите об этом .Тот же принцип применяется здесь.
источник
git remote remove origin
, что мешает Git использовать родительский репозиторий в качестве восходящего потока.Вы должны иметь возможность скопировать весь рабочий каталог в любое место в вашей системе и продолжать работать в обычном режиме при использовании Git, Hg или SVN. Я не могу комментировать другие СКМ.
источник
Это более необычный вариант использования, но ...
Я видел, как
repo
утилита делает символические ссылки в.git
каталоге. В этом случае, когда вы делаете копию, вы должны убедиться, что вы разыменовываете символические ссылки. Например:источник
Это нормально, но если вы собираетесь поделиться своим репо с кем-то еще, учтите следующее :
config
файле могут быть пульты, которые другому человеку может быть наплевать.logs
папке будут ссылки, которыми вы, возможно, не захотите поделиться. Git великолепно позволяет вам делать неприятные вещи на вашем компьютере, пока вы не освоитесь с конечным результатом, а затем перенести его на пульт, чтобы (иногда) делиться им. Часть этой неприятной истории может быть в вашем журнале, поэтому лучше не делиться этим ИМХО.info/exclude
файл может игнорировать некоторые файлы, которые вы хотите игнорировать.источник