проект развертывания git - скрытие предупреждений - PullRequest
2 голосов
/ 04 июня 2011

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

Кроме того, мне интересно, что означают следующие предупреждения? и как мне их избежать?

To mike@server10:/home/www/site1/.git
   07155f1..e80c2db  master -> master
Push to checked out branch refs/heads/master

W:unstaged changes found in working copy
W:stashing dirty working copy - see git-stash(1)

Saved working directory and index state "On (no branch): dirty working copy before update to e80c2db3212a7eb33da2e218001122e0decae640"

Checking out files: 100% (6362/6362), done.
HEAD is now at 07155f1 updated file path
trapped 22921
Updating working copy
M       image.php
M       ask.php
M       basic.php
HEAD is now at e80c2db updated text style

Спасибо

Ответы [ 2 ]

2 голосов
/ 04 июня 2011

Это означает, что ваше целевое репо, которое не является пустым (т. Е. Есть .git плюс извлеченная рабочая копия), не является «чистым»: «git status» не вернется в этом удаленном репо чистый статус, например "nothing to commit (working directory clean)".

Именно поэтому вы видите предупреждение о сбое (Git пытается сохранить файлы, которые «изменяются»).

Прежде чем запускать этот сценарий, необходимо убедиться, что удаленное хранилище имеет чистый статус (сбросив его рабочее дерево до последней фиксации в ветви развертывания, убедившись, что git branch указывает, что вы находитесь в этой ветви), прежде чем запускать этот сценарий.

0 голосов
/ 31 октября 2012

Почему бы вам просто не заставить hooks/post-receive сценарий выполнить git checkout -f, чтобы он сделал извлечение из чистого репозитория в путь развертывания?

Посмотрите на как я это сделал.

...