2015-06-30 4 views
1

У меня есть папка dotfiles, где хранятся файлы конфигурации, такие как .vimrc. Теперь в моей текущей версии на мастере есть пустая папка dotfiles/.vim/bundle/vim-colors-solarized/ Я хотел бы добавить файлы в эту папку (так что соляризации цветовая схема на самом деле работает), так что я пошел в bundle directory и клонировал соляризацию проекта GitHubGit не видит новых файлов

$ cd dotfiles/.vim/bundle 
$ git clone git://github.com/altercation/vim-colors-solarized.git 

Теперь папка bundle/vim-colors-solarized фактически заполнена файлами. Странно, когда я вернусь в папку dotfiles и попрошу git status, он говорит, что все обновлено с главной ветвью и что ничего не зафиксировать.

Это потому, что я клонировал проект git вместо фактического копирования этих файлов?

+0

Если 'git status' не выдает ошибку при запуске в' dotfiles/', это означает, что у вас есть (по крайней мере) один репозиторий Git (' vim-colors-solarized'), вложенный внутри другого ('dotfiles' ?). В этом случае запуск 'git status' вне корневой папки вложенного репозитория Git не скажет вам ничего о модифицированных файлах в этом репо. – Jubobs

+0

@Jubobs - git автоматически игнорирует вложенные репозитории или что-то еще? Я бы предположил, что он покажет вложенную директорию .git (вместе со всем остальным) как что-то, что нужно добавить. –

+0

@DavidDeutsch См. Ответ VonC. – Jubobs

ответ

2

Это потому, что я клонировал проект git вместо фактического копирования этих файлов?

Да, a git status не отображает статус вложенного репозитория git.

Если вы хотите на самом деле совершить ссылку на github.com/altercation/vim-colors-solarized.git, вам нужно добавить его в качестве submodule с git submodule add.

git submodule add -- https://github.com/altercation/vim-colors-solarized.git dotfiles/.vim/bundle/vim-colors-solarized 

После добавления и инициализации (git submodule update --init), вы будете добавлять и совершить gitlink (special entry in the index) из SHA1 в subrepo вы проверили.

Обратите внимание, что по умолчанию git status упоминает только глобальное состояние («грязные» или «новые коммиты» или ...) подмодуля, а не точные измененные файлы в указанном подмодульном репо.

0

Проверить, является ли .vim/ каталог перечислены в файле .gitignore в / составляют скрытые директории.

+0

Это был бы хороший совет в целом, но не в этом случае, где есть репозиторий Git, вложенный внутри другого. – Jubobs

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