К сожалению, при попытке создания версий конфигурационных файлов с правами root, операции git, изменяющие или читающие их, должны выполняться с использованием sudo.
Между тем, другие операции с git (например, принудительное внесение изменений в главный репозиторий на Github) необходимо запускать без sudo, поскольку в противном случае они выполняются без надлежащего доступа к ключам SSH из моей учетной записи пользователя.
Кроме того, индексные файлы в .git в репозитории в конечном итоге принадлежат пользователю root при запуске от имени sudo, что затем прерывает последующие операции, которые должны выполняться без sudo, но которые пытаются обновить существующие файлы в .git.
Какая подходящая конфигурация позволила бы устранить эти противоречия между противоречивой необходимостью как RUN, так и NOT RUN с sudo? Как я могу добиться этой конфигурации?
Например ...
a) должен ли я запускать git WITH sudo последовательно, при этом настраивая его специально для доступа к моим SSH-ключам учетной записи пользователя независимо от того, работает ли пользователь.
б) должен ли я запускать git БЕЗ sudo последовательно, при этом настраивая его на использование sudo, когда ему нужно каким-либо образом писать или получать доступ к файлам, принадлежащим корню.
ФОН
Я бы хотел версии файлов, используемых для настройки моего рабочего стола Ubuntu. Это означает, что когда я пытаюсь повторить ту же конфигурацию на будущем настольном компьютере (или на том же настольном компьютере после перестройки), легко увидеть, какие строки были изменены, и даже выполнить поиск изменений в конфигурационном файле по «описанию функции».
Подход включает в себя настройку хранилища с рабочим деревом вне себя (поддерживается git), затем добавление и фиксация неизмененной (стандартной) версии файла конфигурации перед его изменением, а затем фиксация изменения с помощью сообщения достойного коммита.