Паника Моей Жизни С МЕРЗАВЦЕМ: у меня нет ответвления!

Я проверил старый хеш (фиксация) и работал над нею, регистрируясь весело и игнорируя предупреждения, что я не работал в ответвлении. Затем я переключился на ответвление и понял, что у меня не было способа возвратиться к моему осиротевшему checkins (к счастью, у меня было окно терминала, открытое все еще, таким образом, я проверил его и перешел).

Как я могу заставить МЕРЗАВЦА говорить мне названия фиксаций, которые НЕ принадлежат ответвлению? Или просто все фиксации, если это не возможно...

6
задан Dan Rosenstark 1 February 2010 в 17:14
поделиться

3 ответа

Невозможно заставить pg_dump выгружать данные в каком-либо определенном порядке, так как он выгружает данные в порядке диска - это намного быстрее.

Можно использовать параметры «-a -d» для pg_dump, а затем «сортировать» вывод, но новые строки в данных сделают отсортированный вывод непригодным. Но для базового сравнения, изменилось ли что-либо, было бы достаточно.

-121--2308850-

Я должен отметить, что не обязательно зло пропускать инъекцию конструктора и использовать статическую инъекцию. Есть большие приложения этого, наиболее конкретный пример - использование в реализации Factory образца.

public static class ValidationFactory
{
    public static Result Validate<T>(T obj)
    {
        try
        {
            var validator = ObjectFactory.GetInstance<IValidator<T>>();
            return validator.Validate(obj);
        }
        catch (Exception ex)
        {
            var result = ex.ToResult();
            ...
            return result;
        }
    }    
}

Я использую это вместе с StrucureMap для обработки слоя проверки.

Edit: Еще один пример использования контейнера напрямую - сделать некоторые объекты домена одиночными, не делая их статическими классами и не вводя в них всю жёсткость, которую делают статические классы.

В некоторых своих представлениях я провожу некоторые объекты, подобные этому. Обычно я бы нам перечисление с атрибутом Описание, чтобы дать мне 3 значения выбора, но 3-й в этом случае должен быть также строка, а не int, поэтому я создал интерфейс с этими 3 свойствами и наследовать все объекты домена из него. Затем я просканирую мой контейнер и зарегистрирую все их автоматически, чтобы вытащить их, у меня просто есть

SomeObject ISomeView.GetMyObject
{
    get { return new SomeObject { EmpoweredEnumType = 
            ObjectFactory.GetNamedInstance<IEmpEnum>("TheObjectName");
        }
}
-121--1143756-

Смотрите этот вопрос , который имеет отличное объяснение того, как найти заначки, которые вы уронили. Таким же образом можно увидеть висячие фиксаторы и т.д.

2
ответ дан 9 December 2019 в 22:34
поделиться

git-рефлог покажет журнал ссылок, созданных в результате вашей недавней деятельности. Для последующей ссылки на git checkout коммита помещает вас на отделённую голову . Если вы хотите основывать работу на старом коммите, вам следует создать ответвление от этого коммита.

git checkout -b newbranch oldsha1

или

git branch newbranch oldsha1
git checkout newbranch
7
ответ дан 9 December 2019 в 22:34
поделиться

Вы можете выудить их из рефлога, в котором хранятся зафиксированные вами коммиты.

git reflog распечатает самые последние коммиты, на которые указывает HEAD, которая является вашей рабочей копией.

Вы также можете получить список всех объектов в вашем дереве, которые недоступны из ваших текущих веток, используя git fsck .

2
ответ дан 9 December 2019 в 22:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: