1

2つのブランチ「branch1」と「branch2」をマージしました。問題は、コンテンツが重複することもあり、多くの競合が発生することです(可能ですか??)。

私がやりたいのは、「branch1」の一部のファイルを「branch2」に対して強制的にマージし、逆に、「branch2」の一部のファイルを「branch1」に対して強制的にマージすることです。出来ますか ?

更新:git-mergeに問題があるようですか?branch1バージョンを保持するとします。

echo $this->fetch('prehome.html');
        die; 

2回表示されます。を参照してください。

protected function prehomepage()
    {
        $var = 'myvar';

        echo $this->fetch('prehome.html');
        die;
    }

<<<<<<< HEAD
    $this->mySmarty->assign('title', 'Primagora');

    echo $this->fetch('prehome.html');
    die;
  }

  /**
   * Generate the campaign block for the general sidebar, called through AJAX.
   */
  protected function getCampaignBlock()
  {
    $from = Utils::fromGet('from');
    echo $this->getCampaignSidebarBlock($from);
    die();
  }
=======
    /**
     * Generate the campaign block for the general sidebar, called through AJAX.
     */
    protected function getCampaignBlock()
    {
        $from = Utils::fromGet('from');
        echo $this->getCampaignSidebarBlock($from);
        die();
    }
>>>>>>> branch2
4

3 に答える 3

1

競合のあるマージ(git config merge.conflictstyle diff3設定されている場合)では、次のことができます。

  • そのマージを無視して、元のバージョン(からbranch1)を保持します。
git show:2:full_path>ファイル
# また
git checkout-index --stage = 2- file
  • そのマージを無視し、他のバージョン(からbranch2)を保持します:
git show:3:full_path>ファイル
# また
git checkout-index --stage = 3-file

そこから、git addそしてgit commit

于 2013-03-08T12:40:19.610 に答える
0

表示しているファイルは、進行中のgitマージの中間ファイルです。からの行

<<<<<<< HEAD

=======

1つのバージョンであり、

========

>>>>>branch1

もう1つです。次に、ファイルを手動で編集して使用するバージョンを選択するか、競合の解決に役立つツールを実行します。gitコマンドmergetoolは、すべての競合を解決するプロセスをガイドします https://www.kernel.org/pub/software/scm/git/docs/git-mergetool.html

git mergetool

git mergetoolは、ほとんどの場合、お気に入りの競合解決プログラムを使用するように構成する必要があります。meldは非常に便利で直感的であることがわかりました。

WindowsでMeldを使用したGitmergetoolまたは Meldをgitmergetoolとして設定する方法

于 2013-03-06T14:15:00.210 に答える
0

常に競合を解決するように努める必要があります。彼らは何が起こっているかについてあなたにたくさん教えてくれます。

Netbeansはgitと連携できるため、競合の解決は非常に簡単な作業になります。競合を1つずつ解決できます。保持するバージョンを選択します。

重複コンテンツとはどういう意味ですか?両方のファイルで同一である場合、変更としてマークを付けることはできません。

于 2013-03-06T11:19:22.290 に答える