Git status собирает файлы родительской папки - PullRequest
6 голосов
/ 22 марта 2012

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

Например:

# Changes not staged for commit:
#    modified:    ../otherproject/index.php
#    modified:    ../project3/index.php

# Untracked files:
#    ../otherproject/blah.txt
#    ../project3/img/lol.jpg

Если это поможет, я использовал опцию «Git Bash Here», чтобы изменить каталог Git на htdocs/project.

Ответы [ 3 ]

5 голосов
/ 22 марта 2012

Является ли htdocs git-репо?

ls htdocs/.git

Если это так, это объясняет, что вы видите - у git-репо не может быть другого репо.

(Опубликовано как ответ, а не как комментарий, потому что мне не хватает хурмы.)

Редактировать: Основываясь на обсуждении ниже, похоже, это проблема.Согласно http://progit.org/book/ch6-4.html:

Making a Subdirectory the New Root

Suppose you’ve done an import from another source control system and have subdirectories
that make no sense (trunk, tags, and so on). If you want to make the trunk subdirectory be 
the new project root for every commit, filter-branch can help you do that, too:

$ git filter-branch --subdirectory-filter trunk HEAD

Rewrite 856f0bf61e41a27326cdae8f09fe708d679f596f (12/12)
Ref 'refs/heads/master' was rewritten
Now your new project root is what was in the trunk subdirectory each time. Git will also 
automatically remove commits that did not affect the subdirectory.

Я сам этого не делал, так что, надеюсь, у кого-нибудь есть опыт.

1 голос
/ 22 марта 2012

Из того, что я понял, звучит так, как будто вы хотите иметь несколько git-репозиториев, каждый из которых представляет проект, развернутых бок о бок в том, что похоже на каталог веб-хостинга.

Из эксперимента (и подтверждение другими ответами), создается впечатление, что вы создали git-репозиторий в htdocs, а один не существует в htdocs/projecthtdocs/otherproject и htdocs/project3.

может быть или не быть репозитория git. Предполагая, что в текущем репозитории htdocs нет истории коммитов, вы можете безопасно удалить htdocs/.gitи создайте новые репозитории в htdocs/project и других каталогах проекта.

В противном случае, если вы хотите сохранить историю коммитов, вам придется проделать небольшую работу.Я бы начал с создания резервной копии каталога htdocs, на всякий случай.Оттуда я удалил бы все подкаталоги из htdocs, за исключением каталога htdocs/project, и добавил бы эти изменения в индекс.Затем я бы переместил содержимое каталога htdocs/project в корень хранилища (в htdocs) и добавил эти изменения в индекс.Наконец, я хотел бы удалить каталог htdocs/project, внести изменения и зафиксировать.Обратите внимание, что если в каталоге htdocs есть файлы с такими же именами, что и в каталоге htdocs/project, вы можете сэкономить головную боль, сделав дополнительный коммит перед фиксацией содержимого каталога htdocs/project.Оттуда вы можете просто переименовать htdocs в project, создать новый каталог htdocs и переместить project в htdocs.Наконец, просто переместите резервные каталоги проектов в новый каталог htdocs.

0 голосов
/ 22 марта 2012

git status всегда перечисляет все файлы в хранилище относительно вашей текущей позиции. Это означает, что ваш репозиторий находится в htdocs, а не в htdocs / project

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