[Git] ブランチのプッシュ エラー エラー: 一部の参照をプッシュできませんでした...

記事ディレクトリ

エラーメッセージ

  • サンプルコード:
➜ git:(test) git push origin test
 ! [rejected]          test -> test (fetch first)
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
  • 翻訳:
!(拒绝 ]           测试→首先测试(获取)
提示:更新被拒绝,因为远程包含您所做的工作
提示:没有本地。这通常是由另一个存储库推送引起的
提示:相同的ref。你可能想要首先集成远程更改
提示:(例如,'git pull…')然后再推。
提示:请参阅'git push—help'中的'Note about fast-forward '获取详细信息。

解決

分析: これは、ブランチをプッシュする前に最新のコードをプルしなかったため、バージョンが不一致になったことが原因です。
解決策: マージ前のコードにロールバックし、最新のコードをプルしてから、ブランチをプッシュします。

注: このソリューションは 2 つのブランチ間のマージ操作に適用できます。たとえば、テスト ブランチがバージョンをロールバックすると、テスト上のマージされたコードは失われます。テスト ブランチを正常にプルできた後、開発ブランチのコードを再度テストにマージします。したがって、必ずこのバージョンのコードを保持してから、前のバージョンにロールバックし、プルが成功するのを待ってから、コードを再マージしてください。

  • 過去 2 つのコミットの履歴バージョンを表示する
➜  git:(test) git log -2			# 查看最近2次提交的历史版本
commit da20b931f4e04a61f0f9b4e4726a2e907e566fc6
Merge: 33df706e 6018c237
Author: 流星
Date:   Wed Jan 19 09:58:40 2022 +0800

    第二版

commit 6018c237278f5265e78314049d6642e493ebdb56
Author: 流星
Date:   Wed Jan 19 09:57:50 2022 +0800

    第一版

  • 以前のバージョンにロールバックする
➜  git:(test) git reset --hard 6018c237278f5265e78314049d6642e493ebdb56
  • 次に、プルしてブランチを更新します
➜  git:(test) git pull origin test
  • 現在のブランチを再マージする
➜  git:(test) git merge dev
  • 最後にプッシュアップ
➜  git:(test) git push origin test

おすすめ

転載: blog.csdn.net/qq_45677671/article/details/122574511