Настройка папки .git в произвольном месте - PullRequest
1 голос
/ 17 марта 2011

Вот моя текущая структура каталогов:

  • mygit
  • код
    • .git
    • morecode
      • mycode
  1. Папка code контролируется git, а файлы git находятся в обычном code / .git
  2. Я работаю только над частью этого кода, т.е. mycode

Я хотел бы использовать git для управления своим кодом, но я не хочу, чтобы его файлы были помещены в ожидаемый code / morecode / mycode / .git , а скорее вне кода папка, например в mygit .

Есть идеи, как это сделать?

Ответы [ 2 ]

6 голосов
/ 17 марта 2011

Кроме того, вместо символической ссылки вы можете просто сделать .git обычным файлом и указать в нем путь:

$ echo gitdir: /path/to/gitdir > .git
4 голосов
/ 17 марта 2011

Мой оригинальный ответ ниже, но я переосмыслил это, и я не думаю, что это действительно то, что вы хотите - я не заметил при первом чтении, что вам нужен только подкаталог репозитория. В любом случае, использование --git-dir и друзей сбивает с толку fast - вам нужно помнить, например, что есть только один индекс (область подготовки) независимо от того, откуда вы выполняете команды git.

Вместо этого я думаю, что на самом деле вы хотите сделать mygit символьной ссылкой, указывающей на подкаталог, а затем выполнить все свои операции git в каталоге code.


Возможно, вы захотите ознакомиться с документацией в справочной странице git , в частности с разделами параметров --git-dir и --work-tree и аналогичной средой GIT_DIR и GIT_WORK_TREE. переменные. Вы можете использовать их для установки произвольных каталогов в качестве рабочего дерева и каталогов git.

Здесь есть один момент, который легко пропустить: если вы не передадите абсолютный путь к --git-dir (или GIT_DIR), он будет относительно рабочего дерева , а не вашего текущего каталога.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...