Можно использовать
git add -u
Для добавления удаленных файлов к району сосредоточения войск, затем фиксировать их
git commit -m "Deleted files manually"
Если у вас уже есть репозиторий и вы хотите это сделать, это будет неприятно.
Если вы собираетесь делать это с новыми репозиториями, вы Возможно, вы захотите взглянуть на новые подрепозитории Mercurial .
В основном вы создаете автономные репозитории для определенных каталогов:
myproject/
.hg/
source code/
... files here ...
documentation/ (subrepo)
.hg/
... files here ...
graphics/ (subrepo)
.hg/
... files here ...
Это изолирует различные части проекта в разных репозиториях. «Содержащий» репозиторий (в данном случае myproject) отслеживает ревизию подрепо при каждой фиксации. Вики-страница субрепо, о которой я говорил, хорошо это объясняет.
Насколько я знаю, клонирование подмножества дерева невозможно, но есть и другие возможности.
Git : команда git clone
имеет флаг - depth
:
- depth
Создает неглубокий клон с историей, усеченной до указанного числа ревизий. Мелкий репозиторий имеет ряд ограничений (вы не можете клонировать или извлекать из него, а также нажимать из него или в него), но его будет достаточно, если вас интересует только недавняя история большого проекта с длинной историей и вы хотели бы отправлять исправления в виде патчей.
Bazaar : флаг - облегченный
для checkout
команда загружает только рабочий каталог, а не всю историю и сохраняет полосу пропускания и диск пространство. Все операции по-прежнему поддерживаются,
Судя по этой вики-странице , эта функция еще не реализована в Mercurial, однако есть расширение , которое может делать примерно то, что вы хотите, «преобразование» репозитория или его части, а не фактическое разветвление. Поскольку он может преобразовывать из и в Hg, он может работать как частичное клонирование. Это то, что вам нужно?
В большинстве DCVS правило: «1 проект == 1 репозиторий ". Здесь нет понятия «подпроект» (в отличие от Subversion, где вы можете извлечь поддерево и поработать над ним).
Основная причина в том, что ваш «проект» содержит копию всего репозитория в корневой папке. Все было бы довольно сложно, если бы вы могли создавать копии всего репозитория в подпапках.
С другой стороны, создание рабочих копий - это быстрая операция (если только файловая система не является медленной).
Для Bazaar у вас есть вложенные деревья: http://bazaar-vcs.org/NestedTreesDesign , что позволяет разделить большой проект на подпроекты.
Я еще не использовал эту функцию, поэтому не знаю, насколько хорошо она работает.
Вы также можете перейти с помощью --hardlink, чтобы избежать копирования кучи файлов (не уверен, работает ли это в Windows ...) , ветвь без истории (более светлая ветвь) или ветвь без рабочего дерева (без файлов, только история).
В git вы можете использовать git subtree , что позволяет вам извлекать «виртуальный» репозиторий только для определенного подпроекта, затем вносить изменения в подпроект и затем объединять их обратно в.