問題があります。独自のユーザーとしてシステムにログインします。ジョンドsudo su - root
そうすれば、行政業務を行うことができる人になります。 gitリポジトリにシステム設定ファイルがあります(これはすべてが良くなります)。しかし、これでユーザー設定が失われました(ジョンド)/home/johndoe/.gitconfig
文書。有効な変数を設定しようとしましたが、$GIT_CONFIG
これはグローバル構成ではなくストレージ構成のみを設定するため、私にとって重要な変数は設定されません。
$ sudo su - root
Hello johndoe. Switching your .gitconfig to /home/johndoe/.gitconfig
# git config --get user.name
John Doe
# git config --get user.email
[email protected]
# git config --global --get user.name
# git config --global --get user.email
#
私が試したトリックは次のとおりです。
$ cat .bashrc
--- snip ---
# load git config of user
LOGINUSER=$(who am i|awk '{print $1}')
if [ "$LOGINUSER" != "root" ]; then
GITCFGFILE="/home/$LOGINUSER/.gitconfig"
if [ -f $GITCFGFILE ]; then
echo "Hello $LOGINUSER. Switching your .gitconfig to $GITCFGFILE"
export GIT_CONFIG=$GITCFGFILE
fi
fi
グローバルgitの設定へのパスを設定する方法はありますか?
ベストアンサー1
私の質問に答える:いいえ
これが私が解決した解決策です。/etc/profile.d/gitsetup.sh
次の内容を含むファイルを追加しました。
[ -z "$PS1" ] && return
[ -z "$BASH_VERSION" -o -z "$PS1" ] && return
CFGFILE="/home/$(who am i|awk '{ print $1 }')/.gitconfig"
[ $USER == "root" -a -f "$CFGFILE" -a -n "$CFGFILE" ] && cat $CFGFILE > $HOME/.gitconfig
1行目と2行目でインタラクティブシェルをテストし、3行目でソースの.gitconfigパスを読み取り、ソースファイルがある場合はルート設定ファイルを置き換えます。