私のチームの誰かが誤ってGITにコミットし、誰も引っ張ってはいけません(GITには多くの変更が含まれており、基本的にすべてが壊れているため)。
彼は別のリビジョンに戻ろうとしましたが、エラーが発生しました。
つまり、基本的に、彼は1日中ローカルコピーに取り組んでいます。誰もリポジトリからプッシュまたはプルしていません。
私たちがやりたいのは、どういうわけか彼のローカルな変更を保持しますが、彼がプッシュしたものを削除することです。
どうすればこれを行うことができますか?
ありがとうございました。
git push --forceリモートリポジトリに新しいコミットがある場合でも、ローカルブランチを強制的にプッシュします。
ローカルの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
悪いコミットがなくなったら、通常のように新しい変更をプッシュするだけです。
これは一般的な問題です。以前、このタイプのものの修正が投稿されています。質問する前に必ず検索してください。時間を節約できる可能性があります。