git이 일반 사용자로 올바르게 구성되어 있다면이 짧은 스크립트를 사용하여 원하는 것을 얻을 수 있습니다. 자동으로 생성되는 git commit것을 제외하고는 모든 인수를 허용 --author하며 자동으로 암호를 묻는 메시지를 표시하므로 다음과 sudo같이 실행할 필요가 없습니다 .
#!/bin/bash
name=`git config --get user.name`
email=`git config --get user.email`
author="${name} <${email}>"
sudo git commit --author "$author" $@
사용자의 git 구성에서 이름과 전자 메일을 가져 와서 그로부터 작성자 정보를 작성한 다음 git을 호출하여 커밋을 만듭니다. commit커밋을 생성하고 --author인수를 허용하는 다른 git 하위 명령을 대체 할 수 있습니다 .
또는 저장소를 일반 사용자 (SSH 복제를 통해 /var/www예를 들어)로 복제하고 git clone root@localhost:/var/www커밋을 일반 사용자로 만든 다음 기본 저장소로 푸시하십시오. 이를 통해 원하는대로 사본을보다 자유롭게 관리 할 수 있지만 루프백 인터페이스에서 ssh를 통해 root로 로그인 할 수 있어야합니다.
그러나 etckeeper파일을 추가하거나 제거 /etc/.etckeeper해야 올바르게 업데이트 해야하는 경우으로 직접 git을 사용할 때주의 해야합니다. etckeeper commit불행히도 임의 커밋 권한을 지원하지 않는 경우 자동으로 발생 하지만 그냥 수행하면 그렇지 않습니다 git commit.