Не удается найти файл gitconfig

Я только начал изучать Linux и Git. Я использую Linux Mint. У меня установлены Git и emacs через apt-get.

Я использую следующий учебник https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup

он говорит, что файлы конфигурации находятся в трех разных местах:

  1. /etc/gitconfig файл
  2. ~/.gitconfig или ~/.config/git/config файл
  3. config в каталоге Git (то есть .git/config) любого репозитория, который вы сейчас используете.

Я только начал работать с Git, поэтому предположим, что вариант 3) неприменим.

Я проверил и 1) и 2) - я просто нигде не могу найти файлы

Я погуглил это безуспешно и сделал sudo find . -name в корневом каталоге

Понятия не имею, что происходит, когда я запускаю это

$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]

(очевидно, я использовал свое имя и фамилию выше)

это не дает мне ошибки или чего-то еще - так куда же тогда он записывает эти данные конфигурации?? где эти файлы?


person elnurcoot    schedule 12.09.2015    source источник
comment
Разве вы не видите ~/.gitconfig или ~/.config/git/config после ввода команды git config --global?   -  person VonC    schedule 12.09.2015
comment
нет, их все еще нет, я настроил user.name и user.email, как показано выше, и файлов все еще нет, поэтому я даже не понимаю, где эти данные записаны...   -  person elnurcoot    schedule 12.09.2015
comment
Вы выполняете эти команды как сами или с sudo перед ними (как root)? Что возвращает echo $HOME?   -  person VonC    schedule 12.09.2015
comment
Я только что попытался снова запустить их с помощью sudo, и я вижу ~/.gitconfig в моей домашней папке (эхо $ HOME), если я включу скрытые файлы, мой плохой ... все еще изучаю Linux и еще не привык к sudo. И хотя файл ~/.gitconfig почти пуст (он не должен быть таким, как в учебнике), по некоторым причинам, по крайней мере, я знаю, где он находится и как к нему получить доступ. Я снова продолжу урок, большое спасибо за вашу помощь :)   -  person elnurcoot    schedule 12.09.2015
comment
файлы могут не существовать до того, как вы добавите какой-либо ключ конфигурации, но после того, как вы установите свое имя пользователя, файл должен быть создан.   -  person Frederic Henri    schedule 12.09.2015
comment
git config --global --edit отредактирует этот файл для вас   -  person Rolf of Saxony    schedule 12.09.2015
comment
Для тайны файла /etc/gitconfig запустите от имени пользователя root git config --list –show-origin, и результирующий файл будет /root/.gitconfig. Используйте nano для просмотра. Я до сих пор удивляюсь, почему я также получил таинственный файл.   -  person ColinWa    schedule 05.01.2018


Ответы (4)


Как подтверждено OP, любая команда git config --global создаст/обновит ~/.gitconfig.

Но так как по умолчанию это скрытый файл, вам понадобится ls -alrt, чтобы увидеть его.
git config --global -l отобразит его содержимое.

В более общем случае git config --list --show-origin показывает все файлы конфигурации (и каждую строку данных конфигурации).
С Git 2.26 (1 квартал 2020 г.) вы можете добавить параметр --show-scope

git config --list --show-origin --show-scope

Это также распечатает область («local», «global» и т. д.) всех отображаемых значений конфигурации.

person VonC    schedule 12.09.2015
comment
Спасибо - это правильно, и я также должен был запускать команды с помощью sudo - person elnurcoot; 12.09.2015
comment
@elnurcoot не уверен насчет sudo: это приведет к их выполнению как root, что означает другое HOME. Запуск их без sudo должен поместить .gitconfig в $HOME (выполните echo $HOME без sudo). - person VonC; 12.09.2015
comment
ну, echo $HOME с sudo или без него возвращает мне один и тот же каталог, и дело в том, что только после того, как я запустил команды с sudo, я смог найти файл ~/.gitocnfig среди скрытых файлов в моем домашнем каталоге.. - person elnurcoot; 12.09.2015
comment
@elnurcoot, что возвращает id -a? - person VonC; 12.09.2015
comment
uid=1000(elnur) gid=1000(elnur) groups=1000(elnur),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),110 (самбашаре) - person elnurcoot; 12.09.2015
comment
@elnurcoot, тогда echo $HOME должен сказать /home/elnur, и ваш .gitconfig должен быть там. Судо не требуется. - person VonC; 12.09.2015
comment
это правильно, но его не было, пока я не использовал sudo, вот в чем дело ... в любом случае - я попытаюсь настроить другие данные без sudo и посмотреть, работает ли это :) - person elnurcoot; 12.09.2015
comment
если вы используете sudo, он создаст файл .gitconfig в правильном домашнем каталоге, так же как sudo echo $HOME напечатает правильный домашний каталог, проблема в том, что он будет принадлежать root и в корневой группе с rw-r-- г-- привилегии - person Rolf of Saxony; 12.09.2015
comment
@VonC Я попробовал git config --global и дал git config --global alias.aa="add --all", но файл .config не появляется, когда ls -alrt. Я в /home/user. Это видно, когда я перечисляю их, например: git config --global -l - person lft93ryt; 05.08.2017
comment
@ lft93ryt попробуйте git config -l --show-origin: вы увидите, где какая конфигурация. - person VonC; 05.08.2017
comment
Для тайны файла /etc/gitconfig запустите от имени пользователя root # git config --list –show-origin, и результирующий файл будет /root/.gitconfig. используйте nano для просмотра. Я до сих пор удивляюсь, почему я также получил таинственный файл. - person ColinWa; 05.01.2018

Чтобы найти глобальный .gitconfig файл:

  1. Откройте терминал или командную строку
  2. Перейдите в свой корневой каталог, набрав cd ~
  3. В вашей корневой папке введите ls -alrt
  4. You will see a .gitconfig file
    • To open your .gitconfig file type open .gitconfig

Чтобы найти файл .gitconfig определенного репозитория:

  1. Откройте терминал или командную строку
  2. Перейдите в корневой каталог вашего репозитория, введя cd path/to/repository-directory
  3. Оказавшись в корневом каталоге вашего репозитория, введите ls -alrt
  4. Вы увидите каталог .git. Введите cd .git
  5. Попав в каталог git вашего репозитория, введите ls -alrt
  6. You will see a config file
    • To open your repository's .gitconfig file type open config
person BinaryJoe01    schedule 06.09.2018

Я получил свой файл конфигурации, используя git config --system --list

person Help Out    schedule 26.01.2018

Просто запустите следующие команды, чтобы узнать расположение каждого файла конфигурации Git:

sudo git -c core.editor=ls\ -al config --system --edit
sudo git -c core.editor=ls\ -al config --global --edit
sudo git -c core.editor=ls\ -al config --local --edit
sudo git -c core.editor=ls\ -al config --worktree --edit

Вы должны быть в репозитории Git, чтобы последние две команды работали. Последняя команда работает, только если у вас есть несколько рабочих деревьев Git включены.

Вот как это выглядит в Ubuntu:

введите здесь описание изображения

Если вы попытаетесь выполнить git config на глобальном уровне или в системе, вам могут потребоваться повышенные права, поскольку Файлы конфигурации Git могут находиться в защищенных каталогах \root или \etc.

sudo git config --global user.name "cameronmcnz"

введите здесь описание изображения

person Cameron McKenzie    schedule 05.08.2020