私は Git を初めて使用するので、現在の状況を修正する方法がわかりません。
「マスター」リポジトリがありますA
。次に、そのクローンを repository として作成しますB
。どちらもたまたま同じマシン上にありますが、将来的にはそうではありません。A
のリモコンですB
。
これに対する私の設計は、変更が に加えられA
、B
単にアップストリームからプルして更新することです。B
場合によっては、ローカルな変更が行われる場合があります。
問題は、誤って のB
代わりに を変更したことですA
。この変更の前は、両方のリポジトリは同一でした。この変更は、以前のコミットからいくつかのイメージを元に戻すこと (「元の」状態から「正しい」状態に戻すこと) でしたが、元に戻すことが重要であるという事実はないと思います。次に、間違ったレポで行ったことに気づき、元に戻したものを元に戻し(開始前にイメージを元の状態に設定)、代わりに「マスター」/アップストリームで変更を加えましたA
。
今、B
元の画像が再びありA
、新しく修正された画像があります。問題はB
、それが よりも 2 つ前のリビジョンであるということですA
。にプッシュするオプションを提供しますA
が、そうするとエラーになります:
リモート: エラー: チェックアウトされたブランチの更新を拒否しています: refs/heads/master リモート: エラー: デフォルトでは、裸のリポジトリではない現在のブランチを更新しています リモート: エラー: インデックスと作業ツリーが矛盾するため、拒否されました
remote: error: プッシュした内容で、remote: error: HEAD への作業ツリーと一致させるには 'git reset --hard' が必要です。remote: error: remote: error: 'receive.denyCurrentBranch' 構成変数を remote: error: 'ignore' または 'warn' に設定して、リモート リポジトリに push できるようにすることができます remote: error: 現在のブランチ。ただし、リモート: エラー: 何らかのリモート: エラー: 他の方法でプッシュしたものと一致するようにワーク ツリーを更新するように設定しない限り、これはお勧めできません。remote: error: remote: error: このメッセージを抑制し、デフォルトの動作を維持するには、remote: error: 'receive.denyCurrentBranch' 構成変数を 'refuse' に設定します。C:\dev\jenkins-1.501 へ! [リモート拒否] マスター -> マスター (ブランチは現在チェックアウトされています)
B
の「先」にならないようにするにはどうすればよいA
ですか? 本来あるべき状態になっA
たので、単純に変更を に取り込みたいと思いますB
。