1

私は Git を使用する初心者であり、より具体的には Eclipse に移行します。

すべてのコミットを 1 つのブランチにマージしようとしていますが、cherry-pick では 2 つの異なる親が許可されていないため、それを行うことができません。

リモートから取得した後、何が問題になったのかわかりません。履歴ツリーで、Origin/Master と FETCH_HEAD が過去のどこかで失われたように見えることがわかります。これらの変更を master ブランチにマージして続行するにはどうすればよいですか?

歴史樹

4

1 に答える 1

0

まず、チェリーピッキングはマージを行いません! 変更セットを取得して適用します — パッチとして適用するため、祖先情報は記録されません。

次に、「すべてのコミットを 1 つのブランチにマージする」というフレーズはどういう意味ですか? 「すべての」コミットはもちろん、特定のコミットではなく、1 つ以上のブランチを別のブランチにマージできます。

それで、あなたは本当に何をしたいですか?にマージorigin/mastermasterますか? それからちょうど

$ git checkout master
$ git merge origin/master

この時点で競合が発生する可能性があります。その場合、それぞれを解決する必要があります (git statusどのパスが競合状態にあるかを確認するために使用します。git add特定のファイルの競合を解決した後に使用して、新しいコミット用に更新されたコンテンツをステージングし、そのファイルの競合を解決済みとしてマークします) 、次にgit commit結果。

手でいじろうとしないでください— これは主にit 呼び出しの結果を後で呼び出すFETCH_HEADための配管レベルの参照です。git pullgit fetchgit merge

于 2013-03-25T09:32:53.427 に答える