Проекты работ скунса [закрываются]

В моих экспериментах прерванный git add ничего не оставляет в индексе (вы можете подтвердить это с помощью git status), но он сохраняет любые созданные им двоичные объекты во внутренних структурах, поэтому могут быть некоторые файлы, которые могут быть восстановленным. Посмотрите на https://git-scm.com/book/en/v2/Git-Internals-Git-Objects информацию о том, как извлечь файлы из внутренних BLOB-объектов Git.

Я восстановил один файл следующим образом:

> find .git/objects -type f
...
.git/objects/ac/a6e96aaf9492a2ee8f9ef51f0197ad56436fd4
...

> git cat-file -p aca6e96aaf9492a2ee8f9ef51f0197ad56436fd4 > file1

Обратите внимание, что ID блока - это имя каталога ac плюс имя файла BLOB-объекта a6e96..., чтобы сделать aca6e96....

Таким образом, Git дал мне содержимое одного файла. Это не будет весело использовать, потому что вы получаете содержимое файла без имени файла. К сожалению, имя файла было бы сохранено в индексе и в более устойчивых структурах, если бы у вас была возможность выполнить фиксацию, но эта информация еще не была бы доступна для BLOB-объектов, созданных во время прерванного git add.

Вот скрипт, который перечислит все ваши большие двоичные объекты в одном файле с разделителями, которые могут сделать вашу жизнь немного проще:

Файл list-blobs.pl:

#!/usr/bin/perl

open BLOBS, "find .git/objects -type f |";
while () {
   chop;
   s#.*(..)/#\1#;
   print "BLOB 

В моих экспериментах прерванный git add ничего не оставляет в индексе (вы можете подтвердить это с помощью git status), но он сохраняет любые созданные им двоичные объекты во внутренних структурах, поэтому могут быть некоторые файлы, которые могут быть восстановленным. Посмотрите на https://git-scm.com/book/en/v2/Git-Internals-Git-Objects информацию о том, как извлечь файлы из внутренних BLOB-объектов Git.

Я восстановил один файл следующим образом:

[110]

Обратите внимание, что ID блока - это имя каталога ac плюс имя файла BLOB-объекта a6e96..., чтобы сделать aca6e96....

Таким образом, Git дал мне содержимое одного файла. Это не будет весело использовать, потому что вы получаете содержимое файла без имени файла. К сожалению, имя файла было бы сохранено в индексе и в более устойчивых структурах, если бы у вас была возможность выполнить фиксацию, но эта информация еще не была бы доступна для BLOB-объектов, созданных во время прерванного git add.

Вот скрипт, который перечислит все ваши большие двоичные объекты в одном файле с разделителями, которые могут сделать вашу жизнь немного проще:

Файл list-blobs.pl:

[111]

Выполнить [1119 ]

chmod +x list-blobs.pl    
list-blobs.pl | less

и вы увидите, какие объекты Git на самом деле сохранил в BLOB-объектах, прежде чем прервать git add.

Еще проще: используйте https://github.com/ethomson/git-recover , опубликованную его автором Эдвардом Томсоном в комментариях ниже.

\n"; system("git cat-file -p

В моих экспериментах прерванный git add ничего не оставляет в индексе (вы можете подтвердить это с помощью git status), но он сохраняет любые созданные им двоичные объекты во внутренних структурах, поэтому могут быть некоторые файлы, которые могут быть восстановленным. Посмотрите на https://git-scm.com/book/en/v2/Git-Internals-Git-Objects информацию о том, как извлечь файлы из внутренних BLOB-объектов Git.

Я восстановил один файл следующим образом:

[110]

Обратите внимание, что ID блока - это имя каталога ac плюс имя файла BLOB-объекта a6e96..., чтобы сделать aca6e96....

Таким образом, Git дал мне содержимое одного файла. Это не будет весело использовать, потому что вы получаете содержимое файла без имени файла. К сожалению, имя файла было бы сохранено в индексе и в более устойчивых структурах, если бы у вас была возможность выполнить фиксацию, но эта информация еще не была бы доступна для BLOB-объектов, созданных во время прерванного git add.

Вот скрипт, который перечислит все ваши большие двоичные объекты в одном файле с разделителями, которые могут сделать вашу жизнь немного проще:

Файл list-blobs.pl:

[111]

Выполнить [1119 ]

chmod +x list-blobs.pl    
list-blobs.pl | less

и вы увидите, какие объекты Git на самом деле сохранил в BLOB-объектах, прежде чем прервать git add.

Еще проще: используйте https://github.com/ethomson/git-recover , опубликованную его автором Эдвардом Томсоном в комментариях ниже.

"); }

Выполнить [1119 ]

chmod +x list-blobs.pl    
list-blobs.pl | less

и вы увидите, какие объекты Git на самом деле сохранил в BLOB-объектах, прежде чем прервать git add.

Еще проще: используйте https://github.com/ethomson/git-recover , опубликованную его автором Эдвардом Томсоном в комментариях ниже.

12
задан 2 revs, 2 users 100% 4 February 2009 в 23:01
поделиться

8 ответов

Не уверенный, если это квалифицирует, поскольку "скунс работает" проект, но здесь является большой историей от Этой американской Жизни. Это - закон Два из этого эпизода марта 2005.

Amy O'Leary рассказывает историю редактора документации по программному обеспечению в Apple Computer, трудовой договор которой заканчивается, но он отказывается уходить. Он продолжает обнаруживаться на работе каждый день, крадясь в парадной двери, скрываясь в пустых офисах, и вставляя долгие часы на проекте отмененная компания. Не было никаких встреч, никакой офисной политики, никакие менеджеры, вмешивающиеся в его работу. Скоро, он записал идеальную часть программного обеспечения. Его заключительная проблема выясняет, как тайно установить ее в новых компьютерах Apple ни с кем замечающим. (12 минут)

Большое прислушивание к любому, но особенно программистам в этом случае.

4
ответ дан 2 December 2019 в 07:04
поделиться

Я на самом деле сделал много этих "Секретных" ситуаций с типом проекта. Они были, не полностью поддерживаются при запуске и очень секретном хранении. Я буду обсуждать на них вроде Ваших вопросов.

Действительно ли это было успешно?

Да, разработанная система была помещена в место 3 года назад и функционировала с тех пор.

Вы были узнаны?

Да, это было обнаружено, и это была часть полного плана.

Вы были наказаны или вознаграждены?

С рабочим прототипом нас вознаградили, дали дополнительные ресурсы, необходимые, и в конечном счете система была помещена в место для всей компании для использования.

Как Вы финансировали его?

Это были опытно-конструкторские разработки, которые были просто завершены во время простоя и персональное время различными людьми.

Как Вы укомплектовывали его?

Посмотрите вышеупомянутое.

Сколько времени это брало для окончания, по сравнению с наземными проектами?

Мы выполнили во всей вещи приблизительно 4 месяца со специализированными ресурсами, единственный человек, возможно, выполнил в ней приблизительно 2 месяца или команда приблизительно через 3-4 недели.

Какова была стоимость по сравнению с наземными проектами?

Никакая стоимость, с помощью времени простоя, которое было уже "потрачено впустую", чтобы быть помещенным в эффективное использование. Вся существующая инфраструктура для заключительного воплощения уже была там.

Это было официально принято?

Да, это - твердая часть бизнес-плана теперь и было больше 3 лет.

2
ответ дан 2 December 2019 в 07:04
поделиться

Превосходный вопрос. Очень важный вопрос.

Geoffrey Moore (В Торнадо, Пересекая Пропасть, и т.д.) записал, что, поскольку читал лекции во всем мире, у него был один вопрос, он спросит каждый клиент (включая тех, которые как GE, Motorola, и т.д.),

Вопрос был:

"Можно ли дать мне даже один пример действительно инновационных, инноваций смещения парадигмы, которые когда-либо выходили процесса перспективной разработки или разработки продукта компании?"

По крайней мере, в точке, где я считал кавычку, не, один пример был определен. И в большинстве случаев, такие продукты или услуги были задуманы, разработаны и в основном разработаны небольшими группами людей, которые в лучшем случае были проигнорированы, но часто активно отклонялись R&D.

7
ответ дан 2 December 2019 в 07:04
поделиться

Хм... Я сделал один из них сегодня на самом деле.

У нас нет реальной системы резервного копирования на месте. В настоящее время я получаю очень приятную задачу резервного копирования 100 ГБ репозиториев SVN с помощью svn hotcopy и .tar.gz файлов при попытке манипулировать ими через две или три доли NFS с ограниченным дисковым пространством для получения до сервера с диском с резервной копией. Это находится в лучшем случае - т.е. когда я могу быть побеспокоен для присмотра за детьми процесса в течение 2 часов.

Так как это обязано закончиться в катастрофе рано или поздно, я сделал a git svn clone на самом большом, подряд на сервер резервного копирования, затем клонировал это к моей собственной машине и выгнал svn, работающий копия, которую я использовал. Я получил приблизительно 1 ГБ свободного пространства на моей машине, учитывая самые важные резервные копии некоторое дублирование, и уменьшил 15-минутное svn st к 30-секундному git status. И во мне будут жаловаться для него? Вероятно...

2
ответ дан 2 December 2019 в 07:04
поделиться

Мы в настоящее время находимся в этой ситуации, хотя по общему признанию проект не будет иметь аспектов высокой видимости - даже при том, что все будут в конечном счете использовать его.

Как часть подготовки для восстановления большинства наших корпоративных приложений мы начали разрабатывать среду разработки приложения, которая будет основанием для всех заменяющих приложений. У нас уже есть "проекты места размещения" и время "подтверждения концепции", когда все знают, что мы используем для оценки понятий. Как это отличается, на этот раз, тем не менее, то, что мы активно разрабатываем полный проект.

  • Действительно ли это было успешно? - Мы еще не развернули полную платформу, но так как это является модульным, развертывали части в унаследованных приложениях. Большинство из них фокусируется на устойчивости и сообщающих/регистрирующих проблемах. До сих пор они превысили ожидания, позволив нам реагировать на проблемы более быстро, а также устранив некоторые ранее повторяющиеся.

  • Вы были узнаны? - Ну, этот проект стал одним из худших сохраненных секретов, которые я когда-либо видел. В то время как существует довольно много людей, которые услышали название проекта, брошенного вокруг немного, я не думаю, что любой за пределами нескольких моих разработчиков и команды тестирования действительно знает то, о чем это.

  • Вы были наказаны или вознаграждены? - Мы не рассмотрели ни одну сторону этого, еще. Если платформа не вызвала бы отрицательные эффекты, я сомневаюсь, что мы были бы наказаны за нее. Однако, даже если это будет иметь успех, то вознаграждение будет то, что никто ничего не замечает кроме улучшенных приложений.

  • Как Вы финансировали его? - Как упомянутый прежде, время места размещения между другими проектами и включением в работу "подтверждения концепции". Я также помещал часть своего собственного персонального времени в него на моей поездке на работу, так как это заложит основу для того, как все мои разработчики взаимодействуют с приложениями в будущем.

  • Как Вы укомплектовывали его? - Я запустил с серии маленького доказательства понятий в кодовой базе прежней версии как часть "поддержания" приложений. Вход и фиксация дефекта часто включали аналитические шаги на том, что могло быть сделано, чтобы предотвратить вещи или улучшить опыт в будущем. Они были в конечном счете извлечены и пересмотрены в их собственных блоках, которые стали началом платформы. Мы теперь помещаем "тайные" проекты в наши повторения, что справка излагает в деталях эти идеи через моих разработчиков, и мы теперь извлекаем и осуществляем рефакторинг их усилия, основанные на успехе реализации.

  • Сколько времени это брало для окончания, по сравнению с наземными проектами? - Все же, чтобы быть определенным. Так как это не официальный проект, до сих пор он ничего действительно не стоил. Время места размещения и работа "подтверждения концепции" являются стандартным включением. То, что мы по существу создаем что-то с этого времени вместо того, чтобы выбросить его, является соусом.

  • Какова была стоимость, по сравнению с наземными проектами? - Еще раз, все же чтобы быть определенным. Я предполагаю, что оплачиваемая авансом стоимость будет относительно маленькой по сравнению с большими проектами. Рассмотрение, что это - платформа, чтобы содержать наиболее часто используемые расширения и улучшить способность и качество разработчика для работы эффективно, это, вероятно, заплатит за себя, прежде чем это будет закончено из-за экономящих время, улучшенных методов и сокращения дефектов.

  • Это было официально принято? - Разработчики охватили понятие. Мое непосредственное управление чавкает на уровне бита. Мои коллеги управления взволнованы, если не немного перепутанный на том, что это сделает. Измерение будет успехом приложений, которые создаются прочь платформы - который является некоторыми путями далеко все еще.

2
ответ дан 2 December 2019 в 07:04
поделиться

Я создал инструмент для проверки изменений схемы в целевом DB на работе. до моего инструмента мы сделали все это вручную с fugly скриптами, которые должен был запустить DBA на клиентских сайтах. мой инструмент начал отслеживать структуру базы данных, чтобы знать, удадутся ли определенные вещи. Я был расстроен необходимостью вручить проверке весь этот материал или пострадать от ошибок, inevtiable в выполнении вещей вручную, таким образом, я создал свой блок проверки допустимости и здесь являюсь его историей...

Действительно ли это было успешно?

Да

Вы были узнаны?

да. Часть аспекта скунса работает, проект состоит в том, что это должно появиться в конечном счете.

Вы были наказаны или вознаграждены?

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

Как Вы финансировали его?

Из любви к кодированию его и созданию моей легче жизни - таким образом, не необходимы никакие прямые фонды. Если не была часть плана управлений иметь секретный проект, я не вижу, как это было бы иначе.

Как Вы укомплектовывали его?

Я кодировал один как одинокий разработчик на травянистом холмике с моим ноутбуком.

Сколько времени это брало для окончания, по сравнению с наземными проектами?

Не сопоставимый. мое skunksworks усилие было, возможно, годом лужения. Если бы мы намеревались делать это непосредственно, я не могу предположить, что потребовалось бы меньше чем 2 месяца непосредственно, но я не знаю, так как это не то, как это превратилось. Время простоя, чтобы думать и запланировать, возможно, сделало, оно быстрее в конце сравнило прямое планирование заранее.

Какова была стоимость, по сравнению с наземными проектами?

Неопределенный - Поскольку я упомянул, учитывая, что у меня было время простоя для размышления, и запланировать оно смогло развиться в направлении, которое я хотел без давлений расписания/результата. В более коротком или большем количестве ресурса включенный проект мы, вероятно, сделали бы некоторые ошибки в стремительном движении для получения до некоторого M1, M2 и т.д. Кроме того того, если бы это не удалось, был бы то, как будто этого никогда не происходило, поскольку я, возможно, сложил палатки и пошел бесшумно в ночь.

Это было официально принято?

Мой проект является ключевой ролью сборки продукта на моей работе, таким образом, я сказал бы его раскопанное.

2
ответ дан 2 December 2019 в 07:04
поделиться

Я сделал один из них. Это на самом деле, как я закончил тем, что программировал.

Я был ответственен за поддержание наследия, er... "база данных". Я не буду вдаваться в окровавленные подробности, но это было обычное злое приложение. Компания в значительной степени работала на нем, это будет иногда понижаться в течение многих дней. В то время директор (друг) активно искал замены, говоря с крупными консультационными организациями, etc.etc., но управление было committted/emotionally, который инвестируют в существующую систему. Я добровольно вызвался (к, директор) пытаться переписать, (хорошо, больше как он спросил, интересовался ли кто-либо попыткой иметь дело с этой путаницей, и я добровольно вызвался, потому что я скучал). У нас не было настоящих штатных программистов, и я только записал несколько маленьких специальных вещей. Я понятия не имел, как мало я знал.

Законченный вещь приблизительно за 8 месяцев или возможно год (это было только что, не помнят точно).

Действительно ли это было успешно? да, работал, как рекламируется.

Вы были узнаны? Это первоначально запустилось как своего рода суперсекрет, вещь плаща и меча. Довольно глупый ретроспективно, но это сделало это большим количеством забавы. Примерно на полпути через него только что начал становиться более очевидным, что, именно это я делал, и как оказалось, идея поддерживалась. Запись этой вещи в конечном счете стала моим заданием.

Вы были наказаны или вознаграждены? Вознагражденный

Как Вы финансировали его? / Как Вы укомплектовывали его? Успех его происходил в значительной степени из-за поддержки моего босса, который удостоверился, что у меня были время и ресурсы, я должен был сделать это.

Это было официально принято? Да, мы в конечном счете выполнили компанию на нем.

1
ответ дан 2 December 2019 в 07:04
поделиться

Обычно ответы здесь были историями успеха, таким образом, я думал, что обменяюсь своим недавним опытом, находящимся недалеко от такого проекта, который не пошел так хорошо.

Как Вы финансировали его? Как Вы укомплектовывали его?

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

Так запущенная работа Fred над проектом, известным только команде Fred, но не управлению или другим частям бизнеса. Fred является разработчиком, и работа была более или менее чистой разработкой плюс вклады в базовый проект с открытым исходным кодом.

Действительно ли это было успешно?

Не совсем. Fred работал над ним один, и я думаю, провел бы 12-18 месяцев на него. Отчеты о выполнении работ команде состояли из описания безотносительно ошибки, которую он исправлял на той неделе. Случайные попытки были предприняты, чтобы заинтересовать одну или двух больших шишек организацией, но они никогда действительно пошли куда угодно. Fred, как предполагалось, соединял план закончиться и развернуть проект, таким образом, он мог быть представлен организации, но там всегда казаться, чтобы быть некоторой причиной, он никогда не делался.

Вы были узнаны?

Word медленно отфильтровывал как Fred, менеджер пытался заинтересовать больше людей тем, что они делали.

В конечном счете мы были реструктурированы, и наш новый директор хотел знать то, что все продолжали работать, и проект был показан ему. Однако это не было, по-видимому, объяснено очень хорошо, так как новый директор волновал выяснение у меня (и другие в нашей команде, я уверен), каков точно проект Fred был?

Вы были наказаны или вознаграждены?

В конечном счете новый директор заморозил все финансирование для проекта, и Fred повторно присвоили работать над другими проектами. Это - текущий статус насколько я знаю.

Сколько времени это брало для окончания, по сравнению с наземными проектами? Это было официально принято?

Это не было закончено, и это не было принято.

Какова была стоимость, по сравнению с наземными проектами?

Очевидная стоимость была временем Fred.

Однако были другие затраты.

Во-первых, Fred и его проект стали этим шутки в нашей команде, и позже в командах мы работаем с. Что он делал? Почему он делал его? Почему не был там никакой прогресс? Репутация Fred перенесена. "Проект Fred" стал шуткой для посвященных для проекта, который никуда не шел.

Во-вторых, возможное открытие такого продолжительного, но скрытого проекта, отраженного плохо на нашем менеджере, и следовательно в нашей целой команде.

В-третьих, негодование выросло. Почему этот парень работал над своим любимым проектом, когда была такая реальная работа, которая будет сделана? Мы - малочисленная, но занятая команда, и мы, возможно, использовали разработчика на любом количестве других проектов.

В конце я думаю, что этот проект имел последствия для нашей команды, постоянной и динамичной. Я иногда обсуждаю его с членами команды, когда мы вдали от офиса. Первоначально (и в то время) мы были очень критически настроены по отношению к Fred, который может быть раздражающим парнем, и кто не принимает критику хорошо, и кто обещал чему-то, что не мог поставить. Позже, мы были критически настроены по отношению к нашему боссу. Это не было хорошим способом выполнить проект, и это было очевидно из очень рано на том, что у Fred не было набора навыков, чтобы сделать эту работу самостоятельно, и он не будет искать или слушать совет. К Fred было несправедливо, что он был вставлен в то положение и уехал в нем так долго. В последнее время я задался вопросом, должен ли я был поставить свои вопросы более сильно. Хотя мы действительно продвигали Fred и нашего менеджера на том, чем был проект и куда он шел, мы не взяли его дальше, чем наша команда. Однако я не могу вообразить хороший результат, даже если мы имели.

Наконец, я хотел бы сказать, что Fred является умным парнем, и проект не был плохим. Это, возможно, было успешно (некоторые части с тех пор вышли в конкурирующих проектах - нижние конкуренты, которые на самом деле поставили).

Если бы этот проект был сделан честно, и Fred работал с достойным менеджером проектов и имел хороший коммуникатор в команде, то он, возможно, нашел чемпиона и поставил что-то большое. Или это или это, возможно, были уничтожены намного раньше.

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

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