Git поврежденные файлы <
У меня есть это в моих файлах после некоторых проблем с 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
}
}
}
Как я могу сбросить свои файлы?
3 ответа:
То, что у вас было, было не неприятностями, а конфликтами. Это происходит, когда файлы изменяются двумя разными людьми в одном и том же месте (вы оба добавляете/удаляете/изменяете вещи в одних и тех же строках).
Вы можете просто обновить файлы вручную, решив сохранить все между
<<<<<<< HEAD
и=======
, или между=======
и>>>>>>>
, или некоторую смесь из них. Как только Вы разрешите все ваши конфликты, Вам просто нужно зафиксировать ваши изменения.Отбросить локальные изменения в файле, вы можете сделать
git checkout yourfile
Или для всех файлов, использующих
git checkout -- .
Вы также можете решить для каждого файла, хотите ли вы сохранить свою версию или версию репозитория с помощью
git checkout --ours yourfile # Your version git checkout --theirs yourfile # Repository version
На ваш вопрос лучше всего отвечают уже алестанцы. Все еще для легкого поиска:
Объяснение этих маркеров конфликта
>>>>>
...<<<<<
можно найти в этот вопрос.Есть больше информации о слиянии в этом Q.
И
git help merge
также весьма явно полезны:КАК РАЗРЕШИТЬ КОНФЛИКТЫ
Увидев конфликт, вы можете сделать две вещи:* решите не делать этого. поглощать. Единственные зачистки у вас необходимо сбросить файл индекса в голова совершает обратный ход 2. и убирать рабочие места дерево изменений, внесенных 2. и 3.;
git merge --abort
может быть использован для этого.· разрешите конфликты. Git будет отмечать конфликты в рабочее дерево. Отредактируйте файлы в форму и
git add
их в индекс. Воспользуйсяgit commit
чтобы скрепить сделку.Вы можете проработать конфликт с помощью нескольких инструментов:
* используйте mergetool.
git mergetool
для запуска графического mergetool который будет работать с вами через слияние.· посмотрите на различия.
* Посмотрите на различия в каждой ветви.git diff
покажет трехстороннюю разницу, выделяя изменения от обеих головок и версии MERGE_HEAD.git log --merge -p <path>
сначала покажет диффы для головной версии а потом MERGE_HEAD версия. Посмотрите на оригиналы.git show :1:filename
показывает общий предок,git show :2:filename
показывает головную версию, аgit show :3:filename
показывает MERGE_HEAD версия.