1

私のチームの誰かが誤ってGITにコミットし、誰も引っ張ってはいけません(GITには多くの変更が含まれており、基本的にすべてが壊れているため)。

彼は別のリビジョンに戻ろうとしましたが、エラーが発生しました。

つまり、基本的に、彼は1日中ローカルコピーに取り組んでいます。誰もリポジトリからプッシュまたはプルしていません。

私たちがやりたいのは、どういうわけか彼のローカルな変更を保持しますが、彼がプッシュしたものを削除することです。

どうすればこれを行うことができますか?

ありがとうございました。

4

2 に答える 2

0

git push --forceリモートリポジトリに新しいコミットがある場合でも、ローカルブランチを強制的にプッシュします。

于 2012-08-30T21:20:07.573 に答える
0

ローカルのgitリポジトリをプレプッシュ状態にリセットしてリモートオリジンにプッシュするか、gitサーバーにアクセスできる場合は直接元に戻します。

ローカルマシン:

1. git log
   get the commit id for the last usable commit
2. git reset --hard <commit id>
   replace <commit id> with the id you retrieved in step 1
3. git push -f origin <branch name>

gitサーバーの場合:

1. git log
   get the commit id for the last usable commit
2. git reset --hard <commit id>
   replace <commit id> with the id you retrieved in step 1

悪いコミットがなくなったら、通常のように新しい変更をプッシュするだけです。

これは一般的な問題です。以前、このタイプのものの修正が投稿されています。質問する前に必ず検索してください。時間を節約できる可能性があります。

于 2012-08-30T21:23:29.753 に答える