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 версия.