git チェリーピックの問題?
世界只因有你
世界只因有你 2017-05-02 09:32:56
0
2
692

新しいウェアハウスを作成し、そこにテキスト ファイルを 1 つだけ配置し、それぞれ 6 つのコミットを作成します。この時点で、git log --oneline は次のようになります

ファイルの内容は次のとおりです

442452d コミットを破棄したいが、e09949e コミットは保持したい。その方法は次のとおりです。
git replace --hard 260effc
次に git Cherry-pick e09949e

以下に示すように、この時点で競合が発生しました

私が理解できないのは、論理的に言えば、e09949e の送信には '3' ではなく '4' だけが含まれているはずです。 「3」が手動で削除された場合、ファイルを削除するだけでは意味がありませんか? それとも私の使用法に何か問題があるのでしょうか?神に導きを求めてください! ! !

世界只因有你
世界只因有你

全員に返信(2)
Ty80

git revert 442452d だけではどうでしょうか?

Commit は相対的な変更を記録し、変更されたコンテンツの上位行と下位行に関連します。前の行が失われると、競合が報告されるため、手動で解決する必要があります。 2 つのコミットが関連関数内に存在しなくなった場合は、直接元に戻すことができます。

さらに、このリセット --ハードを実行してからチェリーピックする方法を使用することは良くありません。他の共同作業者が途中で他のコミットを追加し、その後の競合処理がより困難になる可能性があります。

cherry-pick より良い使用シナリオは、1 つのブランチ上に別のブランチの別の機能が必要な場合です。

いいねを押す +0
漂亮男人

e09949e には 4 のみが含まれているため、これは前のコミット 442452d との差分です。 e09949e只包含4,是针对前一个commit442452d的差异而言。

可你现在把442452d给去掉了,希望把e09949e的父节点从442452d指到260effc

しかし、現在は 442452d を削除し、442452d から e09949e の親ノードを 260effc にポイントしたいと考えています。確かに紛争になるだろう。

動画なしで私の説明が明確かどうかわかりません。質問がある場合は、まずこのチュートリアルをプレイすることをお勧めします。 🎜
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート