Re[38]: Git в картинках
От: . Великобритания  
Дата: 02.06.11 18:38
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN> Менее удобно еще куда то переключаться.

AN> — я всегда вижу визульно какой файл модифицирован
AN> — нажав commit на solution сразу видно все изменения только в файлах включенных в проект. Могу тут же глянуть отличия.
Т.е. "включённых в проект"? Те, которые не в проекте вообще в игноре должны быть.

AN> Если делать в проводнике нужно минимум еще туда перейти, при этом нужно переходить в корень всех проектов.

В git не надо вроде. Он коммитит рабочую копию целиком (как минимум из командной строки).

AN> Может просто не знаю где искать откат?


AN> А делал вот что


AN> Копирую через проводник файл в локальную папку под гитом.

AN> Через git extension делаю ему коммит.
AN> Через гит черепаху даю команду ребасе.
AN> Появляется диалог, вверху виден мой файл.
AN> Не помню уже точно как, может через контектное меню, может слева где кликнул, ставлю ему признак ignore.
AN> Нажимаю кнопочку ОК
AN> Файл бесследно исчезает.
В общем понял теперь. Короче, рассказываю. Ты делал rebase, т.е. перебазирование. Что это значит. У тебя есть история svn, c коммитами s1, s2, s3. Ты делаешь изменение в гите и коммитишь, получается коммит g1. История теперь такая: s1->s2->s3->g1. Допустим за это время кто-то другой что-то в svn закоммитил s4, получается теперь есть 2 истории: s1->s2->s3->s4 в svn и s1->s2->s3->g1. Тебе их надо слить. В случае git всё просто, а с svn надо сделать линейную историю. Т.е. должно получиться s1->s2->s3->s4->g1. Т.е. твой коммит g1 должен быть применён не к s3 а к s4. Когда ты делаешь git svn rebase он скачивает историю из svn и переносит твой коммит в её конец. При этом tgit предлагает эту историю тут же подредактировать (например, возможно s4 уже фиксит проблему которую ты пофиксил в g1 или там что-то пересекается). Ты же поставил признак "skip" (а не ignore как ты написал). Т.е. ты отказался применять твоё изменение g1. Логично, что файла в итоге не стало.
Да, кстати это не важно что не было никакого s4, перебазирование позволяет редактировать историю в любом случае, чтобы при отправке в удалённый репозиторий было всё красиво в истории.

Если тебе интересно, поразбирайся с git reflog, если хочешь понять как тебе вернуть твой файл.

AN> .>Исходники не помню... там ещё месиво из разных файлов, html,js,c++,java было... Несколько десятков мб вроде.

AN> А откуда берутся гигибайты?
C++ он такой. Всякие obj, куча отладочных pdb, кодогенерация использовалась — своя и COM-импорты, в общем распухает оно резво.
avalon 1.0rc3 rev 0, zlib 1.2.3.4
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.