Файлы исчезают между нажатием и вытягиванием с голым репо в середине - PullRequest
1 голос
/ 04 марта 2010

Итак, у меня есть локальный репозиторий с двумя ветками: master и shop . У меня также есть пустой репозиторий и удаленный репозиторий. Я могу толкать и тянуть между всеми этими, но есть некоторые файлы, которые продолжают теряться. Я делаю следующее:

Из моего локального корня:

git push barereposerver shop

Все хорошо. Ух, мы там толкнули. А затем из удаленного корня, после выполнения git init и git remote, добавьте голый ssh: //blahblahblah/blah.git, я делаю:

git pull bare shop

Но по какой-то причине у меня есть несколько файлов, которые не встречаются.

Я знаю, что не дал много информации, но я очень новичок в git и пока не знаю правильной терминологии. Я бы хотел, чтобы вы задали мне несколько вопросов и посмотрели, сможете ли вы помочь мне в этом. Большое спасибо!

Обновление : боковая версия того, что я собираюсь сделать. Я ищу, чтобы получить от других -> других, через голый репо: http://droplr.com/wEB1q

1 Ответ

1 голос
/ 04 марта 2010

Из вашей диаграммы видно, что вы сделали:

  • подтолкнуть к себе (из местного)
  • , а затем с пульта зарегистрируйте голое репо и извлеките из голого

"Из моего локального корня: git push bareserver shop"

Что такое:

alt text


набор, который не проходит, - это новая группа файлов, которые существуют в локальной ветви, но по какой-либо причине не переносятся в удаленную ветку

Ну, вы на самом деле добавили , а затем зафиксировали эти файлы, прежде чем пытаться запустить локальное репо? (см. этот вопрос , например)


Из комментариев, вот как мы отследили основную причину этой проблемы:

Другой способ устранения неполадок - обратите внимание на SHA1 локального коммита (который содержит ваши файлы) и SHA1 того, что вы получаете на удаленной стороне (после извлечения из голого состояния): если это это не то же самое, что объясняет разный контент, но вы также можете искать этот SHA1 (полученный на удаленном сервере) в голом репо и в локальном репо, чтобы проверить, к какому коммиту относится этот SHA1 (в котором отсутствуют некоторые файлы). *

Это будет этот номер? 591178c18126be127eaa417fa6b3be86c0fce969 Если это так, я получаю один и тот же номер на удаленном и локальном.

SHA1 действительно такое число. Если это одинаково для локального и репо, содержимое должно быть одинаковым . Попробуйте (если у вас нет текущей модификации на удаленном компьютере) git reset --hard (опять же, на удаленном репо); сначала убедитесь, что у вас есть правильная ветка в удаленном репо)

Рядом два результата из git log:

и бок о бок две папки с разными файлами:

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

Странно. Когда я клонировал локальное хранилище в другое локальное хранилище, файлы снова отсутствовали. Я выполнил команду клонирования из правильной ветви. Идеи, почему это будет?

Это бок о бок всех процессов клонирования и отображения разных результатов:

Прямо сейчас, тот факт, что каталоги отсутствуют в локальном клоне, является достаточным доказательством того, что эти каталоги не являются частью локальных репо-коммитов. Эти каталоги пусты? (потому что даже если они будут добавлены, они не будут зафиксированы)

Да, они абсолютно пусты .
Это каталоги, изначально созданные как пустые, но необходимые для того, чтобы плагин WP мог писать, чтобы добавлять вещи.
По этому ТАКому вопросу Я могу добавить .gitignore, попробую это. До этого момента, через две недели с git, я нигде не видел этого. Кажется, большая проблема, о которой так редко сообщают, или я что-то упускаю?

Это действительно важное дизайнерское решение, часть того, что делает Git системой управления содержимым файлов (см. Популярность Git и Git по сравнению с SVN ).

Эти каталоги, когда-то добавленные с .gitignore в них, теперь удаляются / удаляются успешно.

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