Как я могу добавить файл без изменения текущего рабочего каталога? - PullRequest
5 голосов
/ 21 марта 2012

Я хочу добавить и зафиксировать файл в git без изменения моей текущей рабочей директории. Возможно ли это?

> pwd
/tmp 

> git --git-dir=/tmp/git_test/.git init
Initialized empty Git repository in /tmp/git_test/.git/

> ls /tmp/git_test
commit1

> git --git-dir=/tmp/git_test/.git add /tmp/git_test/commit1
fatal: '/tmp/git_test/commit1' is outside repository

> git --git-dir=/tmp/git_test/.git add commit1
fatal: pathspec 'commit1' did not match any files

(git add -A, похоже, использует текущий рабочий каталог, а не аргумент --git-dir)

1 Ответ

12 голосов
/ 21 марта 2012

Вы пропустили вариант: --work-tree. Если вы находитесь за пределами хранилища, вам необходимо указать и это, и --git-dir:

--work-tree=<path>

Установить путь к рабочему дереву. Это может быть абсолютный путь или путь относительно текущего рабочего каталога. Это также можно контролировать, задав переменную среды GIT_WORK_TREE и конфигурационную переменную core.worktree (более подробное обсуждение см. В core.worktree в git-config (1)).

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