誰かが、早送りができなかったために中央リポジトリへのGitプッシュが失敗する原因の簡単な例を提供できますか?これが発生するには、ローカルレポと中央リポジトリの状態をどのように見える必要がありますか?本当にこれを視覚化するのに苦労している...Gitプッシュが早送りできないということは何を意味しますか?
答えて
私はあなたがこの問題を見ていると仮定します。
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '/Users/mayoff/t/test/central'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
ここで問題が発生した「非早送り更新が拒否された」方法です。
アリスとボブがプロジェクトに取り組んでいるとします。彼らはそれぞれリポジトリを持ち、中央リポジトリには両方ともプッシュとプルを行います。最初に、3つのリポジトリには、次のようになります。
今、アリスとボブは両方のいくつかの作業を行います。
次に、アリスは中央リポジトリに彼女の変更をプッシュ:
次に、ボブはプッシュしようとするには、それぞれのローカルリポジトリへの別の変更をコミットします。ボブのプッシュはコミット4を指すように更新しようとします。コミット4は先祖としてコミット3を持たないので、マージが必要ですが、git push
は実際のマージを行いません。新しいマスターが古いマスターを祖先として持つ、「早送り」のみです。ボブは、早送りではなく、実際のマージを必要とするものをプッシュしようとしているので、エラーが発生します。
に成功プッシュし、ボブはまず、中央リポジトリから新しいコミットを取得する必要があります:
と彼はアリスの変更(#3をコミット)と(#4をコミット)彼の変更をマージする必要があります、新たにそれが有する両方のコミットを作成する祖先としてコミット:
フェッチと続いて二つのコマンド(git fetch
で行うことができるマージ)または1つのコマンド(git pull
)です。
ここで、ボブは正常に押し込むことができます。中央のレポは、新しいマスターが古いマスターを祖先として持つことを確認するためです。今アリスはボブのコミットが欠落している
注意してください。中央リポジトリから引き出す前にプッシュしようとすると、早送り以外のエラーが発生し、ボブと同じようにフェッチしてマージして修正する必要があります。
ローカルブランチに引っ張らずに同じブランチの中央リポジトリをコミットするだけです。次にローカルにコミットしてプッシュしようとします。
- 1. Git rebaseは早送りではないことを示します
- 2. このgitグラフは何を意味していますか?
- 3. 揺れないことは何を意味しますか?
- 4. gitの文脈でTREESAMEという単語は何を意味しますか?
- 5. GitとGithubの意味は、fork、master、origin、push、pullという意味ですか?
- 6. git pull -a originを使用しているときに-aフラグが意味することは何ですか?
- 7. Javascriptでは ":"というシンボルは何を意味しますか?
- 8. Rubyでは "$$"というトークンは何を意味しますか?
- 9. ディレクトリ名とは何ですか? 'と '..'という意味で、faDirectoryはどういう意味ですか?
- 10. gitのリポジトリという用語は正確に何を意味しますか?
- 11. アーティファクトスコープが推移的でないことは何を意味しますか?
- 12. @TypeConverterAnnotationというコードは何を意味していますか?
- 13. 「CRNAアプリを取り出すことができない」とはどういう意味ですか?
- 14. 0x0Fは何を意味していますか?そして、このコードはどういう意味ですか?
- 15. Pythonでx = ''という文が意味することは何ですか?
- 16. git-cleanマンページで「ビルド」とは何を意味していますか?
- 17. オプションバインドとは、ここで「バインディング」という言葉が正確に何を意味していますか?
- 18. git log --exit-codeとは何を意味しますか?
- 19. Eclipse + Git - 「ステージング」とはどういう意味ですか?
- 20. gitブランチとトランクフォルダはどういう意味ですか?
- 21. 「テンプレート」という用語は何を意味しますか?
- 22. def `self.function`という名前は何を意味しますか?
- 23. レガシーデータベースという用語は何を意味しますか?
- 24. 「メタデータ」という用語は何を意味しますか?
- 25. 「BODMAS」という用語は何を意味しますか?
- 26. 「データベースシーディング」という用語は何を意味しますか?
- 27. gitで新しいブランチを作成するとき、「トラック」とは何を意味しますか?
- 28. git log --onelineで次のことはどういう意味ですか?
- 29. プログラミングで推移的なことは何を意味していますか?
- 30. Gitの引数@ {u}は何を意味していますか?
優秀な質問!多くの人々はそれを理解していませんが、私がこれで見つけたほとんどの質問はそれほどよく書かれていません。 – erikbwork