一部の開発者が RDP 経由で作業し、リモート マシン上にある IDE を使用するコード ベースがあります。変更をコミットするときに自分の名前を強制的に入力する方法があるかどうかを知りたいです。現在、Git はデフォルトで私の名前を使用していますが、変更を行ったのは私ではないため、非常に迷惑です。
また、何かが GitHub にプッシュされると、ユーザー名/パスワードが要求されますが、コミット リストにそのユーザーの情報が表示されていないようです。
**編集**参考**
私の当初の意図は、commit コマンドが実行されるたびに、共有アカウント (避けられない) でサインインしたユーザーuser.name
に資格情報を入力するよう強制することでした。user.email
これを実現するために、新しい人がログインするたびにこれらの値を本質的にクリアして設定する Windows 用のログイン スクリプトを使用しようとしました。
@echo off
cls
REM * Notify user
echo Clearing Git user information...
REM * Go to Git directory
cd C:\"Program Files (x86)"\Git\bin\
REM * Clear user information
git config --global --remove-section user
REM * Get the user's name
set /p name= Please enter your first name:
REM * Get user email
set /p email= Please enter your email:
REM * Set Git configuration
git config --global user.name "%name%"
git config --global user.email "%email%"
::REM * exit
exit
しかし、主なユースケースである RDP を介して一貫して動作させることはできませんでした。
pre-commit
これにより、Bash 用に変更された基本的に同じスクリプトを使用した Git 用のフックを使用しようとしました。Git はフックを呼び出す前に「作成者」を割り当てるため、これも機能しませんでした。
つまり、ユーザー構成がname = jim
でありemail = bob@test.com
、Git ログに作成者が含まれjim<bob@test.com>
ている場合、次のコミットには入力された情報が含まれます。
#!/bin/sh
#
exec < /dev/tty
# Notify user
echo "Clearing Git user information..."
# Go to Git directory
#cd c:\"Program Files (x86)"\Git\bin\
# Clear user information
git config --global --remove-section user
# Get the user's name
echo "Please enter your first name: "
read name
# Get user email
echo "Please enter your email: "
read email
echo name: $name email: $email
read -n 1
# Set Git configuration
git config --global user.email $email
git config --global user.name $name
#exit