首先我直接向你展示正常情况下的相同过程:
git init
git add .
git commit -m "first commit"
我是一个普通目录(~/testGit
例如),它可以毫无问题地运行。
我想在目录中做同样的事情/etc/nixos
。
首先我必须这样做:
git config --global --add safe.directory /etc/nixos
否则我会收到此消息:
致命:在“/etc/nixos”存储库中检测到可疑所有权要为此目录添加例外,请调用:
git config --global --add safe.directory /etc/nixos
尽管我必须使用,但前两个命令运行良好sudo
:
sudo git init
sudo git add .
但第三个失败了
sudo git commit -m "first commit"
作者身份不明
*** 请告诉我你是谁。
跑步
git config --global user.email " [email protected] " git config --global user.name "您的姓名"
设置您账户的默认身份。省略 --global 则仅在此存储库中设置身份。
致命:无法自动检测电子邮件地址(得到‘root@nixos.(none)’)
我当然遵循了以下说明:
git config --global user.email "[email protected]"
git config --global user.name "MY Name"
但它仍然不起作用。
我在 virtualbox 上运行 nixos。我认为这并不重要,但至少你知道。
git config --global
为用户(即 in )全局设置内容,~/.gitconfig
而不是为整个系统(例如 in/etc/git
等)设置内容。“全局”实际上意味着“针对此用户从此机器访问的所有 git 存储库”。运行 git config 命令
sudo
来设置 root 用户的 git 凭证:在此之后,如果您使用像 github 这样的外部服务并使用 ssh 进行身份验证,您可能还需要复制您的 ssh 密钥(或者最好为 root 创建一个新密钥)并将其添加到 root 的
~/.ssh
设置中。因为 ssh 确实关心文件所有权和权限,所以你可能
sudo chown -R root ~root/.ssh
需要sudo chmod 600 ~root/.ssh/*