Я создал репозиторий git для своих точечных файлов, но когда я использовал git init в своем домашнем каталоге, кажется, что он рассматривает все подкаталоги как часть git. Я добавил репозиторий через git add remote. Проблема в том, что мой баш показывает, в какой ветви я на самом деле есть, например, пользователь в userr в папке на ветке. Поэтому, когда я иду на свой рабочий стол (~/Desktop), он по-прежнему считается git-каталогом, я могу даже использовать git-статус там. Однако я хотел бы рассмотреть только домашний каталог для репозитория.Как заставить git работать только в текущем каталоге?
ответ
Я думаю, я нашел решение этой темы: Git ignore sub folders ответ @mgold «s. он предлагает добавить
*/*
to gitignore. Он работал для меня в окнах, если вы используете систему на основе Linux, вам может понадобиться изменить регулярное выражение. Надеюсь, это поможет.
(редактирование: третий вариант ниже, GIT_CEILING_DIRECTORIES
, вероятно, лучше всего)
Если вы явно не сказать ублюдка, где найти gitdir текущего репозитория, единственный способ это должен найти это искать вверх. На самом деле нет другого выбора: вы говорите, или он ищет вверх.
Ближайший я могу получить то, что вы хотите, чтобы просто разорвать мерзавца в этих каталогах, вставив недопустимую ссылку gitdir
echo gitdir: this isn\'t part of any containing repository >$notinthisone/.git
и сказать вмещающего хранилище игнорировать его:
echo $notinthisone >> .gitignore
после чего
$ cd $notinthisone
$ git status
fatal: Not a git repository: this isn't part of any containing repository
и git add
от con пропуская репозиторий, он пропустит его, и если вы попытаетесь его заставить, вы получите указанное выше сообщение об ошибке.
Для альтернативного способа реализации вашего dotfile репо, вы можете настроить хранилище использовать любой worktree вы хотите. Итак:
mv .git somewhere/out/of/the/way
cd !$
git config core.worktree $OLDPWD
echo '*' >> .gitignore
echo '!.*' >> .gitignore
git add .gitignore
git commit -m 'ignoring un-hidden files'
Живи и узнать, читая GIT документов, проверяя все возможные скрытые переопределения в каталог .git
, я столкнулся с этим:
GIT_CEILING_DIRECTORIES
This should be a colon-separated list of absolute paths. If set, it is a list of directories that git should not chdir up into while looking for a repository directory. It will not exclude the current working directory or a GIT_DIR set on the command line or in the environment. (Useful for excluding slow-loading network directories.)
So экспорт это и сделать то же самое в вашем эквиваленте .bashrc
, например
export GIT_CEILING_DIRECTORIES=$HOME
и мерзавец будет не рекурсию вверх в ваш домашний каталог. Тогда в вашем домашнем каталоге
echo '*' >>.gitignore
echo '!.*' >>.gitignore
и мерзавец никогда не рекурсию вверх в репозиторий вашей домашней директории в
- 1. Git bash - показать файлы в текущем каталоге
- 2. git редкая проверка в текущем каталоге
- 3. Как заставить скрипт BASH работать только в определенном каталоге?
- 4. Как заставить git использовать только один уровень в каталоге
- 5. Как заставить netbeans работать git?
- 6. Как заставить FindFirst искать файлы в текущем каталоге?
- 7. solaris- найти файлы только в текущем каталоге
- 8. Как заставить Vim использовать локальный файл заклинаний в текущем каталоге?
- 9. Как заставить GIT работать в моем случае?
- 10. Как я могу заставить эту команду поиска работать рекурсивно в текущем каталоге?
- 11. поиск helm-grep-do-git-grep в текущем каталоге
- 12. Как заставить diff работать как git-diff?
- 13. Могу ли я заставить Windbg запускать программу в текущем каталоге?
- 14. Как разрешить только открытие файлов в текущем каталоге в Python3?
- 15. Как заставить `git-p4 sync` работать?
- 16. Как заставить `git add` работать с` xargs`
- 17. Как просмотреть файлы в текущем каталоге?
- 18. Как развить проект git, заданный только в каталоге .git?
- 19. Как заставить ctrlpbuftag работать?
- 20. Как мне заставить mod_rewrite работать в моем домашнем каталоге?
- 21. Сделать RewriteRule работать только в корневом каталоге
- 22. JFileChooser - открыть в текущем каталоге
- 23. Как мне заставить команду «найти» пропустить файлы в каталоге .git /?
- 24. Сохранение файлов в текущем каталоге
- 25. Запись в файл в текущем каталоге
- 26. как заставить кнопку работать только один раз;
- 27. Как установить модуль npm в текущем каталоге?
- 28. Как сохранить файл в текущем каталоге?
- 29. Как открыть терминал в текущем каталоге?
- 30. Как заставить setInterval работать только один раз?
Я попробовал вторую альтернативу, но это не сработало.У меня все еще есть тот же результат при доступе к более глубоким папкам, например: viniciusd на Viniciuss-MacBook-Pro в ~ на главном \ ☿ cd Desktop \ viniciusd на Viniciuss-MacBook-Pro в ~/Desktop на главном \ ☿ \ –
Если вы в каталоге без '.git' в любом месте пути к корню, тогда у вас есть явное gitdir переопределение где-нибудь. Сделайте 'echo $ {! GIT _ *}', чтобы увидеть, переопределяет ли среда какие-либо параметры .git. – jthill
Не распознано: ☿ echo $ {! GIT_ *} zsh: событие не найдено: GIT_ –