Ответы пользователя по тегу Git
  • Как затягивать изменения с сервера через Git?

    Vapaamies
    @Vapaamies
    Разработчик будущей ОС для ПК размером 250 МБ
    Если файлы меняются пользователями, они являются настройками и должны игнорироваться через добавление в .gitignore. В нормальном проекте.
    Ответ написан
  • Почему подвисает Git Extensions и git log при вывода истории файла из большого репозитория?

    Vapaamies
    @Vapaamies
    Разработчик будущей ОС для ПК размером 250 МБ
    Вроде бы хранение графа коммитов сильно ускоряет git log. Стоя в репе, выполняем команду:
    git commit-graph write --reachable --split=replace
    Ответ написан
    Комментировать
  • Как избавиться от искажения файлов после скачивания с Git LFS?

    Vapaamies
    @Vapaamies
    Разработчик будущей ОС для ПК размером 250 МБ
    После скачивания с git hub (Code -> Download ZIP и через расширение gitzip) и дальнейшей разархивации я сталкиваюсь с проблемой, что все файлы загруженные через git lfs имеют размер 1КБ

    Это может означать, что процедура формирования zip-архива на стороне GitHub не поддерживает Git LFS.

    мне хватает 1 gb, по разрешениям и тарифам всё нормально.

    Вот, видимо, не хватает, если полная поддержка Git LFS только за оплату. Но могу ошибаться, возможности тарифов не смотрел.
    Ответ написан
  • Как можно сделать перенаправление с HTTPS на SSH в Git?

    Vapaamies
    @Vapaamies
    Разработчик будущей ОС для ПК размером 250 МБ
    Если SSH нужен именно для push, в Git поддерживается отдельный pushurl (качать по одному пути, толкать по другому):
    git remote set-url --add --push origin git@github.com:Username/repository
    Ответ написан
    Комментировать
  • Как узнать хеш мержа в котором смержены изменения?

    Vapaamies
    @Vapaamies
    Разработчик будущей ОС для ПК размером 250 МБ
    С самой задачей не сталкивался, но заинтересовался. Из нагугленных рецептов сработал следующий:
    git rev-list master..develop~1 --ancestry-path --merges -- script/git-touch

    К сожалению, он выдает только хеши, а можно ли сделать поиск по конкретной строке кода, не изучал.
    Ответ написан
    Комментировать
  • Учитывает ли Git регистр имени файла и как его поменять?

    Vapaamies
    @Vapaamies
    Разработчик будущей ОС для ПК размером 250 МБ
    По сути вопроса:
    git config --show-origin core.ignoreCase
    Покажет, где установлено. Я во всех репах после инициализации или клонирования даю:
    git config --unset core.ignoreCase
    По умолчанию Git различает регистр, но шаблон конфига для Windows выставляет core.ignoreCase = true.

    А вот старые коммиты останутся как есть. Если вам важен регистр, нужно взять git-filter-repo и перебить репу. Примерно так:
    git filter-repo --force --prune-empty always --prune-degenerate always --path-rename hello.cs:Hello.cs

    Вместо одиночного или нескольких --path-rename можно написать целую простыню переименований в отдельном файле. Поддерживаются регулярки. Читайте доку, короче.

    Оно перебьет хеши измененных коммитов, то есть репу придется загружать на сервер/GitHub заново, но тут уже ничего не попишешь: или один раз исправить, или продолжать мучиться.
    Ответ написан
    1 комментарий
  • Как увидеть все изменения, которые я делал в ветке git?

    Vapaamies
    @Vapaamies
    Разработчик будущей ОС для ПК размером 250 МБ
    Чтобы переключаться по очереди на каждую из них и видеть, что где я делал и далее копировать сделанный кусок кода и вставлять его в новую ветку.

    Чтобы делать cherrypick.

    Есть очень удобный GitKraken, но для приватных хранилищ от платный.
    Ответ написан
    Комментировать
  • Чем SVN лучше Git?

    Vapaamies
    @Vapaamies
    Разработчик будущей ОС для ПК размером 250 МБ
    SVN лучше Git тем, что не пытается превратить твою Винду в Юникс и не тащит за собой кучу мусо... э-э-э, зависимостей, которые проистекают от нежелания разработчиков Git договориться и написать всё на одном языке... или не на одном, но компилируемых, чтобы потом собрать объектный код в исполнимые модули.

    Поэтому SVN -- это 5 метров EXE/DLL самого SVN, а Git -- 200 (400?) метров, включающих в себя MSYS, Cygwin и Perl помимо самого Git. Для кого размер не аргумент -- есть понятие сложности владения: в большой и сложной системе больше точек, где что-то может сломаться.

    Насчет поколений и распределенности никто не спорит. Просто так сложилось, что к моменту появления распределенных VCS несистемные программисты перестали писать на компилируемых языках... В смысле однородности Mercurial лучше, но Python медленный, зараза!
    Ответ написан
  • Как организовать хранение библиотек и хидеров от которых зависит наш проект?

    Vapaamies
    @Vapaamies
    Разработчик будущей ОС для ПК размером 250 МБ
    И чтобы хранилась история, чтобы мы могли взять версию своей библиотеки за прошлый год и быстро ее собрать со всеми зависимостями. Сейчас используем сетевую папку просто.

    В SVN есть такая штука, как svn:externals. В Git и Мercurial тоже наверняка есть, а вот в CVS вряд ли.

    Суть в том, что в вашем хранилище хранится ссылка на другое (внешнее) хранилище, и при развертывании рабочей копии клиент ходит по этим "символическим ссылкам" и рекурсивно по ним всё скачивает. В SVN подчиненные рабочие копии будут выглядеть как обычные, у них будет своя папка .svn.

    Нужно только, чтобы внешнее хранилище было такого же типа, как и ваше. Скажем, SVN не сможет скачать из внешнего Git. Если вы качаете библиотеки не из хранилищ, а просто архив с сайта, заведите у себя отдельное хранилище для библиотек и складывайте туда все нужные версии.
    Ответ написан
    Комментировать
  • Как вести разработку сильно разнящихся проектов в git?

    Vapaamies
    @Vapaamies
    Разработчик будущей ОС для ПК размером 250 МБ
    Это не проблема Git, это проблема архитектуры вашего приложения. При нормальной реализации должно быть общее ядро и клиентозависимые расширения, а для поставки клиента собираться в единое целое тем или иным образом.

    То, как вы сейчас делаете, похоже на реализацию двух разных приложений. Если хотите продолжать -- разделите хранилища, как вам уже предложили.
    Ответ написан
    1 комментарий
  • Оправдан ли в 2015 переход с git на svn?

    Vapaamies
    @Vapaamies
    Разработчик будущей ОС для ПК размером 250 МБ
    Как активный пользователь SVN не вижу аргументов начинать новый проект на SVN в 2015-м году, если только нет идеологических причин. Тем более, раз у вас Git уже освоен и всем устраивает.
    Ответ написан
    Комментировать