2011-06-10 26 views
12

リモートリポジトリに不正なバージョンが含まれています。私は良いバージョンのコピーをローカルに持っています。リモートリポジトリにあるすべてのものを現在のリポジトリに置き換えたい(リモートリポジトリには、起こってはならないはずの数件のコミット(マージを含む)がある)。リモートgitリポジトリを自分のリポジトリで上書きする

私がプッシュしようとすると、最初にプルする必要があることがわかりますが、それはローカル版を混乱させるので、私はそれをしたくありません。リモートリポジトリにローカルにあるものを格納したい。

どうすればいいですか?

答えて

41

ルークの--forceを使用してください。

http://www.kernel.org/pub/software/scm/git/docs/git-push.html

+0

同じもの: '! [リモート拒否] master - > master(早送りではない) ' – rid

+1

次に、' --force'を指定してもリモートのリポジトリ.git/configで 'receive.denyNonFastForwards'を無効にする必要がある場合。 – Amber

+0

実行しているコマンドはなんですか? – Amber

1
  1. 知ら悪い枝
  2. から
  3. プル
  4. スイッチが完全に知られて悪い枝
  5. にあなたの既知の正常なブランチをマージあなたの既知の正常なバージョンから新しいローカルブランチを作ります
  6. コミットとプッシュ

私は通常、このようなプロセスを使用して、変更されたものを保持し、既知の良いコピーなどの分離されたブランチを持つようにします。これはおそらく--forceを使う場合に比べて過度ですが、

+2

'merge'はうまくいきません。なぜなら、良い変更は悪い変更より古いので、何もマージすることはないからです。 – rid

関連する問題