Я проверил старый хеш (фиксация) и работал над нею, регистрируясь весело и игнорируя предупреждения, что я не работал в ответвлении. Затем я переключился на ответвление и понял, что у меня не было способа возвратиться к моему осиротевшему checkins (к счастью, у меня было окно терминала, открытое все еще, таким образом, я проверил его и перешел).
Как я могу заставить МЕРЗАВЦА говорить мне названия фиксаций, которые НЕ принадлежат ответвлению? Или просто все фиксации, если это не возможно...
Невозможно заставить 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- Смотрите этот вопрос , который имеет отличное объяснение того, как найти заначки, которые вы уронили. Таким же образом можно увидеть висячие фиксаторы и т.д.
git-рефлог
покажет журнал ссылок, созданных в результате вашей недавней деятельности. Для последующей ссылки на git checkout
коммита помещает вас на отделённую голову . Если вы хотите основывать работу на старом коммите, вам следует создать ответвление от этого коммита.
git checkout -b newbranch oldsha1
или
git branch newbranch oldsha1
git checkout newbranch
Вы можете выудить их из рефлога, в котором хранятся зафиксированные вами коммиты.
git reflog
распечатает самые последние коммиты, на которые указывает HEAD, которая является вашей рабочей копией.
Вы также можете получить список всех объектов в вашем дереве, которые недоступны из ваших текущих веток, используя git fsck
.