17

VS2012 git-plugin で問題が発生した後、ファイルにこれがあります。

using Microsoft.VisualStudio.TestTools.UnitTesting;
<<<<<<< HEAD
using NHibernate;
=======
>>>>>>> dd2c3d7dfe81074e7c5a73f8e4ca2584481a74f1

namespace Controll.Hosting.Tests
{
[TestClass]
public class TestBase
{
<<<<<<< HEAD
    protected ISessionFactory SessionFactory;

    [TestInitialize]
    public void InitializeTestBase()
    {
            SessionFactory = NHibernateHelper.GetSessionFactoryForMockedData();
=======
    [ClassInitialize]
    public void InitializeTest()
    {
        Console.WriteLine("Settings NHibernateHelper.IsInTesting -> True");
        NHibernateHelper.IsInTesting = true;
>>>>>>> dd2c3d7dfe81074e7c5a73f8e4ca2584481a74f1
        }
    }
}

ファイルをリセットするにはどうすればよいですか?


Chromeはランダムな空白を挿入します

Chrome でスタイルが台無しになるページがあります (Safari などでは問題ありません)。何らかの理由で HTML に奇妙な空白が挿入され、ページの上部や他の場所のレイアウトが台無しになっているようです。PHP ページのソースを表示することを選択した場合、次のように表示されます。

<body><div id="header-outer">
<div id="header" class="container">
    <div class="row">
        <div id="site-logo" class="span5">
            <img src='logo.png' />
        </div> ... etc ...

(BODY と DIV の間にスペースがないように PHP を変更しました)。しかし、開発者ツールを開くと、次のように表示されます。

<body>
    "" <- why?
    <div id="header-outer> etc. etc..

「」を手動で削除すると、レイアウトはうまくいきます。ここで何が起きてるの?私は困惑しています。

編集: http://bit.ly/ZkZxVG でページを見ることができます編集: すべての拡張機能を無効にしようとしましたが、問題には影響しませんでした。

ヒント: ブートストラップと JQuery を使用しています。彼らはコードをいじることができますか?

4

3 に答える 3

28

あなたが抱えていたのはトラブルではなく葛藤でした。これは、ファイルが同じ場所で 2 人の異なる人によって変更された場合に発生します (両方とも同じ行内で追加/削除/変更します)。

<<<<<<< HEADとの間、またはと=======の間、または 2 つの混合物を保持することを決定することにより、ファイルを手動で更新するだけです。すべての競合を解決したら、変更をコミットするだけです。=======>>>>>>>

ファイルのローカル変更を破棄するには、次のことができます

git checkout yourfile

または、使用するすべてのファイルに対して

git checkout -- .

ファイルごとに、自分のバージョンまたはリポジトリのバージョンを保持するかどうかを決定することもできます

git checkout --ours yourfile # Your version
git checkout --theirs yourfile # Repository version
于 2013-03-08T09:53:20.960 に答える
8

あなたの Q はすでに alestanis によって最もよく回答されています。簡単に検索するために:

これらの競合マーカーの説明は>>>>>...この質問<<<<<にあります。

この Qでマージに関する詳細情報があります。

またgit help merge、非常に明確に役立ちます:

競合を解決する方法

競合を確認したら、次の 2 つのことを行うことができます。

· マージしないことを決定します。必要なクリーンアップは、インデックス ファイルを HEAD コミットにリセットして 2. をリバースし、2. と 3. によって行われた作業ツリーの変更をクリーンアップすることだけです。git merge --abortこれに使用できます。

· 競合を解決します。Git は作業ツリーで競合をマークします。ファイルを形に編集し、git addそれらをインデックスに編集します。git commit取引を封印するために使用 します。

いくつかのツールを使用して競合を処理できます。

· マージツールを使用します。 git mergetoolマージを行うグラフィカルなマージツールを起動します。

· 差分を見てください。 git diff HEAD と MERGE_HEAD の両方のバージョンからの変更を強調して、3 方向の差分が表示されます。

· 各ブランチからの差分を見てください。 git log --merge -p <path>最初に HEAD バージョンの差分を表示し、次に MERGE_HEAD バージョンの差分を表示します。

・原本を見る。 git show :1:filenameは共通の祖先をgit show :2:filename示し、HEAD バージョンをgit show :3:filename示し、MERGE_HEAD バージョンを示します。

于 2013-03-08T10:02:43.753 に答える
0

SourceTree for git を使用して、Kdiff がインストールされたビルドを管理することで、これらの問題の 99% を非常に効率的に解決することができました。

.Net の SOU ファイルからこれらを削除しようとしているだけです。通常、SOU ファイルを古いバージョンに置き換えると、これが解決されます。

于 2016-10-25T14:01:59.490 に答える