281

Chef + いくつかのアドホック bash スクリプトを使用して一緒にブートストラップするアプリ サーバーがあります。問題は、これらのアプリ サーバーのいずれかで更新を実行したい場合、次のようになることです。

19:00:28: *** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

git pull origin masterアプリサーバーを更新するたびに簡単なことを行うために、これを本当に設定する必要がありますか? 名前と電子メールが設定されていないときにエラーが発生しないように、この動作をオーバーライドする方法はありますか?

4

23 に答える 23

67

を行う代わりにgit pull、次のことができます。

git fetch
git reset --hard origin/master

どちらも、git ユーザー名/電子メールを構成する必要はありません。

これにより、コミットされていないローカルの変更/コミットが破棄され、HEAD が (ブランチではなく) コミットを指すようになります。ただし、ローカルで変更を行ったり、そのリポジトリにコミットしたりするべきではないため、アプリサーバーにとってはどちらも問題にはなりません。

于 2013-07-18T02:40:56.330 に答える
35

sourcetree を使用している場合: [リポジトリ] -> [リポジトリ設定] --> [詳細設定] --> [グローバル ユーザー設定を使用する] ボックスのチェックを外します。

私にとってはうまくいきました。

于 2013-08-13T06:56:14.983 に答える
12

ブートストラップ プロセスを更新${HOME}/.gitconfigして、適切な内容で を作成するか、既存のものをどこかからコピーします。

于 2012-07-25T20:06:47.867 に答える
2

私はこれを誤ったエラーメッセージとして持っていました:上記のエラーでPerl CGIプロセス(githubから自動デプロイするためのWebhook)で失敗し
git pullたcmd行で正常に機能しました。
git pull

特定git statusされた衝突ファイルを実行しています。並べ替えると問題が解決しました。

いくつかの構成設定を変更したときに、後で問題が再発しました。

今回は、$HOME および $USER 環境変数を設定することで修正されました (CGI プロセスではデフォルトで設定されていません)。

于 2014-09-10T20:21:52.307 に答える
2

アプリ サーバーを更新するたびに単純な git pull オリジン マスターを実行するために、これを本当に設定する必要がありますか? 名前と電子メールが設定されていないときにエラーが発生しないように、この動作をオーバーライドする方法はありますか?

一度だけ尋ねて、このマシンの rsa 公開鍵が、コミットしようとしている、またはプル リクエストを渡しようとしている github アカウントに追加されていることを確認します。

詳細については、こちらをご覧ください

于 2013-01-23T10:44:52.497 に答える
2

設定ファイルを見てください。

リポジトリ > リポジトリ設定 > 構成ファイルを編集します。

[user]セクションが存在するかどうかを確認します。ユーザー セクションがない場合は、追加します。

例:

[user]
name = "your name"
email = "your email"
于 2016-01-08T08:08:30.207 に答える
1

いくつかのファイルをコミットしようとしているときに、このエラー メッセージが表示されました。

単に実行git fetchしてからコミットを再試行するだけでうまくいきました。

于 2015-06-11T07:11:12.293 に答える
-5

それはタイプミスです。誤って " e "なしで "user.mail" を設定しました。グローバル構成で「user.email を設定して修正します

git config --global user.email "you@example.com"

ここで解決策を見つけました

https://stackoverflow.com/a/14662703

于 2015-09-04T06:09:30.903 に答える