Eri*_*kTJ 14 git git-merge merge-conflict-resolution
在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
}
}
}
Run Code Online (Sandbox Code Playgroud)
我该如何重置我的文件?
ale*_*nis 23
你所拥有的并不是麻烦而是冲突.当文件被同一个地方的两个不同的人修改时(在相同行中添加/删除/修改内容),就会发生这种情况.
你可以简单地手动更新文件,通过决定让之间的一切<<<<<<< HEAD和=======之间,或者=======和>>>>>>>,或两者的结合.一旦你解决所有的冲突,你只需要提交更改.
要放弃文件的本地更改,您可以执行此操作
git checkout yourfile
Run Code Online (Sandbox Code Playgroud)
或者,对于所有使用的文件
git checkout -- .
Run Code Online (Sandbox Code Playgroud)
您还可以为每个文件决定是否要保留您的版本或存储库版本
git checkout --ours yourfile # Your version
git checkout --theirs yourfile # Repository version
Run Code Online (Sandbox Code Playgroud)
你的Q已经被alestanis最好地回答了.仍然容易查找:
这些冲突标记的解释>>>>>...... <<<<<,可以发现这个问题.
有关于合并此Q的更多信息.
而且git help merge非常明确有用:
如何解决冲突
看到冲突后,你可以做两件事:
·决定不合并.您需要的唯一清理是将索引文件重置为HEAD提交以反转2.并清除由2.和3进行的工作树更改.
git merge --abort可以用于此.·解决冲突.Git将标记工作树中的冲突.将文件编辑为形状,将
git add它们编辑为索引.使用git commit帮你搞定.您可以使用许多工具解决冲突:
·使用mergetool.
git mergetool启动图形合并工具,它将帮助您完成合并.·看看差异.
git diff将显示三向差异,突出显示HEAD和MERGE_HEAD版本的变化.·查看每个分支的差异.
git log --merge -p <path>将首先显示HEAD版本的差异,然后显示MERGE_HEAD版本.·看原件.
git show :1:filename显示共同的祖先,git show :2:filename显示HEAD版本,并git show :3:filename显示MERGE_HEAD版本.
| 归档时间: |
|
| 查看次数: |
17979 次 |
| 最近记录: |