10

netbeans をインストールして、ssh 経由で git リポジトリに接続しました。

マスターブランチをプッシュする以外はすべて正常に動作します。master ブランチにいくつかの変更をコミットし、ブランチをプッシュしようとするたびに、次のポップアップが表示されます。

There were errors during the push.
Open output to see more details.

詳細は

==[IDE]== Jun 30, 2012 4:29:42 PM Pushing finished.
==[IDE]== Jun 30, 2012 4:32:38 PM Pushing
git push ssh://50.57.180.187:22/var/www/netbeans +refs/heads/master:refs/heads/master
Remote Repository Updates
Branch : master
Old Id : cc6de40b3236047b0212e318f9977a7b75395177
New Id : fe8f3af403524ba5731fdf1e0b8773c4ef223840
Result : REJECTED_OTHER_REASON

Local Repository Updates
Branch : origin/master
Old Id : cc6de40b3236047b0212e318f9977a7b75395177
New Id : fe8f3af403524ba5731fdf1e0b8773c4ef223840
Result : NOT_ATTEMPTED

==[IDE]== Jun 30, 2012 4:32:43 PM Pushing finished.

しかし、他のブランチではすべてがうまく機能します。私は何か間違ったことをしていますか?

EDIT:リモートレポはむき出しではありませんでした。詳細はこちら

4

3 に答える 3

1

すでにプッシュされている既存のコミットを置き換えるために、新しいコミットをプッシュしようとしている必要があります(「履歴の書き換え」)

NetBeansのgitプッシュウィザードダイアログでgit push --force、を実行するか、同様のオプション(サポートされている場合)を選択する必要があります。そして、「 」がリモートリポジトリで許可されて いると仮定します(常にそうであるとは限りません)。 他の人がすでにリモートリポジトリからプルしている場合、その履歴を書き換えることは一般的に良い考えではありません。
push --force

于 2012-06-30T15:02:01.367 に答える
0

問題は、git リポジトリがむき出しではないことです。

コマンド ラインで git を使用してプッシュできることを確認するために、より詳細な説明が表示されます。

問題は、マスターが現在リモート リポジトリでチェックアウトされている可能性があります。マスター ブランチをプッシュできるようにするには、リモート リポジトリでマスター以外のものをチェックアウトしてみてください。

于 2013-07-12T20:09:21.827 に答える
0

別の状況が原因で、netbeans(Mac上)を介したプッシュで同じ問題が発生しました:

ブランチをローカルに作成するときに、ブランチの名前にドイツ語のウムラウト (ü、ä、ö) を (偶然) 使用しました。リモートリポジトリにプッシュしようとするまで、ローカルでの作業はうまくいきました。

私の回避策:名前にウムラウトを付けずに別のブランチをローカルに作成し、間違った名前のブランチをそれにマージし、新しいブランチをリモートリポジトリにプッシュします。

これが、ソリューションを検索する際の時間を節約するのに役立つことを願っています。

于 2015-01-09T13:45:30.660 に答える