2015-02-23 6 views
1

Я хочу, чтобы мой мерзавец репо находиться в отдельной папке с моего рабочего каталога, так что я сделал репо, используя следующие команды:мерзавец рабочий каталог не отражает изменения

$ cd mysite.git/ 
$ git init --bare 
Initialized empty Git repository in /home/git/mysite.git 
$ git config core.bare false 
$ git config core.worktree /home/mysite/public_html 
$ git config receive.denycurrentbranch ignore 
$ cat > hooks/post-receive 
#!/bin/sh 
export GIT_DIR=/home/git/mysite.git 
export GIT_WORK_TREE=/home/mysite/public_html 
git checkout -f 
^D 
$ chmod +x hooks/post-receive 

Я, кажется, быть в состоянии нажать и вытащить из репо без ошибок, но рабочий каталог не отражает сдвинутые изменения.

Если я

$ git status 

это показывает, что мои изменения были поручены, но затем удаляется из рабочего каталога.

Эта конфигурация работала для моей команды до недавнего времени, и я не знаю, как отследить, что могло измениться. Я убедился, что права доступа к файлам кажутся правильными. Я не уверен, что еще проверить.

Может кто-нибудь, пожалуйста, помогите мне выяснить, почему моя конфигурация заставляет рабочий каталог не отражать внесенные изменения?

ответ

1

Оказалось, что разрешения в моем каталоге репо были правильными, но разрешений в моей рабочей директории не было. Я должен был убедиться, что рабочий каталог был доступен для записи пользователем, который выполнял push.

0

Резервы «Bare» не имеют рабочих поверхностей. Может быть, this поможет?

Вам нужно «клонировать» голый репо. Затем вы можете оттолкнуть из клона в голый репо и вытащить из голого репо в клон.

+0

Я пытался настроить автоматическое развертывание веб-сайта с помощью удаленного git-репо, аналогичного предложениям на http://caiustheory.com/automatically-deploying-website-from-remote-git-repository/ Это возможно ли иметь ваше git-репо в другой директории, чем рабочий каталог, не инициализируя репо как голый? Мне также нужно нажать на репо, чтобы автоматически зафиксировать изменения и обновить рабочий каталог. – phaonica

+0

Нажатие на репо не изменяет никакой рабочий каталог. Но вы можете сделать часть того, что хотите. Чтобы отделить git-dir от worktree, используйте '--separate-git-dir '. – cdunn2001

Смежные вопросы