git cherry-pick 问题?
世界只因有你
世界只因有你 2017-05-02 09:32:56
0
2
656

新建一个仓库,里面只放一个文本文件,分别做6次提交,,此时git log --oneline 的样子应该是这样的

文件的内容是这样的

我要丢弃 442452d 提交,但保留e09949e提交,我的做法是这样的
git reset --hard 260effc
然后 git cherry-pick e09949e

此时爆冲突了,如下图

我不理解的是为何会冲突,按道理应该直接就patch了,不应是上图的样子,e09949e这次提交应该是只包含‘4’ 不包含 ‘3’吧,如果要是还需要手动去掉‘3’的话,那cherry-pick 还有啥意义呢,我直接进文件把它删掉就好了啊,还是我用法有问题?求大神指点!!!

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

全員に返信(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
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!