Клон GIT не получает файлы, начинающиеся с точки (.htaccess, .htpasswd)

Я клонирую репозиторий из Github с помощью GIT в удаленной среде с CentOs, используя:

git clone https://myuser:[email protected]/Myrepository/repo.git

и проверяет все файлы, кроме тех, которые начинаются с точки

.htaccess .htpasswd

Заметки:

  1. Отсутствующие файлы отображаются в репозитории Github.

github

  1. Эти файлы не включены в .gitignore
  2. Я перечисляю файлы на сервере с помощью команды ls -a

сервер

Нужно ли мне добавить какой-либо флаг, чтобы получить и эти файлы?


[РЕШЕНИЕ]

Проблема была не в команде git clone, отсутствующие точечные файлы были вызваны другой командой, выполненной впоследствии.

mv /path/one/* /path/two

Который переместил все, кроме точечных файлов.

Спасибо за ваши ответы!


person J Plana    schedule 07.01.2016    source источник
comment
Проверьте свой файл gitignore   -  person Abhishek Patel    schedule 07.01.2016
comment
Возможный дубликат Заставить git добавлять точечные файлы в репозиторий. ПРЕДОСТЕРЕЖЕНИЕ: Убедитесь, что вы добавили/зафиксировали файлы .dot в своем удаленном репозитории, прежде чем снова пытаться клонировать.   -  person paulsm4    schedule 07.01.2016
comment
Мои точечные файлы зафиксированы в репозитории и не указаны в моем файле .gitignore.   -  person J Plana    schedule 07.01.2016
comment
Обычно вы должны получить все файлы. Вы используете систему Linux? Там файлы, начинающиеся с точек, по умолчанию скрыты.   -  person sk_pleasant    schedule 07.01.2016
comment
Вы можете запустить git status? это говорит что-нибудь о недостающих файлах?   -  person Ferrybig    schedule 07.01.2016
comment
Если файлы были переданы в удаленный репозиторий, то git clone должен их полностью скопировать. Их либо нет в репо (мне кажется), либо вы их не показываете (для *nix вы должны ls -a). Попробуйте git ls-tree -r master --name-only   -  person paulsm4    schedule 07.01.2016


Ответы (2)


Обратите внимание, что «dotfiles» обычно скрыты по умолчанию в большинстве операционных систем. Это применимо независимо от того, используете ли вы пользовательский интерфейс или интерфейс командной строки.

Если вы используете CLI, попробуйте добавить флаг -a к ls при перечислении файлов в репозитории git:

ls -a

Как видно из man ls:

-a Включить записи каталога, имена которых начинаются с точки (.).

person mathielo    schedule 07.01.2016
comment
Привет Матиело, спасибо за ваш комментарий, я проверяю файлы с помощью ls -a - person J Plana; 07.01.2016

Основываясь на вашем сообщении, я искренне считаю, что рассматриваемые точечные файлы никогда не были добавлены в индекс git и зафиксированы.

Пожалуйста, просмотрите эту ссылку:

Чтобы увидеть скрытые файлы .dot на хосте * nix (OSX, Linux, BSD и т. д.), используйте ls -a

Чтобы просмотреть файлы, находящиеся под управлением Git, в удаленном репозитории, используйте git ls-tree -r master --name-only или просто git ls-files.

Также не помешает перепроверить ваши .gitignore файлы. Помните — у любого подкаталога может быть свой собственный отдельный .gitignore.

'Надеюсь, это поможет

ДОПОЛНЕНИЕ:

Спасибо за дополнительную информацию, которую вы разместили:

Заметки:

  1. Отсутствующие файлы отображаются в репозитории Github.

Снимок экрана Github

Это определенно показывает, что файлы существуют в удаленной файловой системе (хорошо!). Но я не уверен, что они обязательно находятся под контролем git. Опять же: git ls-tree -r master --name-only может точно сказать вам, что находится под контролем Git, а что нет.

person paulsm4    schedule 07.01.2016