web-dev-qa-db-ja.com

gitのエラー:このリポジトリでプッシュできるのは自分のコミットのみです

昨日、コミットをレポにプッシュしようとしたときにエラーを受け取り始めました。それを修正する方法は?そして、私はこのレポの管理者ではありません。

remote: You can only Push your own commits in this repository
remote: Commit commitName was committed by <myName> <[email protected]>
To ssh://bitbucket.awg.ru/repo
 ! [remote rejected] branchName -> branchName (pre-receive hook declined)
error: failed to Push some refs to 'ssh://[email protected]/repo'

更新

みなさんありがとう、問題は解決しました。問題はBitbucket側にあり、管理者はいくつかのオプションを変更しました。これですべてがOKです。

6
Oleg

みなさんありがとう、問題は解決しました。問題はBitbucket側にあり、管理者はいくつかのオプションを変更しました。これですべてがOKです。

[〜#〜] update [〜#〜]

質問をした@Olegによる。一般的な問題は、Bitbucketフックが原因で発生します。このフックは、サーバーにプッシュするユーザーによってコミットされていないコミットを含むプッシュを拒否します。

問題を解決するには:

  • Bitbucketサーバーのリポジトリへの管理者アクセスが必要です
  • サーバーのリポジトリに移動します
  • 次にリポジトリ設定
  • フックを選択します
  • 無効にするコミッターの確認フック
  • できた
6
Oleg

Bitbucketにプッシュする前にIDを設定する必要があります

git config --global user.email "Your Email"
git config --global user.name "Your Name"
git Push Origin <branch-name>
5
Manish R

オフィスマシンで異なるプロジェクトを操作しているときに同じ問題が発生しました。 Gitは、私のオフィスのメール「[email protected]」でグローバルに構成されています。もう1つは、GitLabリポジトリのオープンソースプロジェクトで、Gmailアカウントによって認証されています。

GitLabリポジトリのプッシュは機能せず、上記と同じエラーが表示されました。その理由は、コミットメッセージの作成者が私のオフィスのメールから発信されたためです。

リポジトリごとに異なるコミッター名と電子メールを保持することは、私にとってはうまくいきました。 GitLabリポジトリのuser.emailを変更しました。これは、単に--globalフラグを省略しているだけです。 enter image description here

これで、すべてのコミットは、リポジトリに設定した新しい作成者から発信され、上記のエラーが防止されます。

0
  1. リポジトリブラウザーに移動し、プロフィール(右上隅)にあるユーザー名とメールを確認します

  2. Git bashで、git Webプロファイルに従って詳細を更新しますgit config --global user.email "[email protected]" git config --global user.name "USERNAME"

  3. ステップ2でユーザーの詳細を変更した後、コミットを取り消してからやり直す必要があります。

  4. 変更をプッシュするgit Push

0
Neupane

@Manish Rの回答に従って既にgit configを実行していると仮定し、BitbucketがVerify Committerフックを実施していないことを確認します。プロジェクト->設定->フックを参照してください

enter image description here

0
eeijlar