Ответы пользователя по тегу Git
  • Как удалить лишние папки и файлы из git репозитория?

    @ilyarsoftware
    Вариант 1 (история изменений, добавлений файлов в папках останется):

    1. Удалить локально, закомитить
    2. Добавить названия папок в .gitignore
    3. git push


    Вариант 2 (история история будет полностью перезаписана, изменений, добавлений файлов в папках не будет):
    Это вариант следует согласовывать, если с репозиторием работает больше одного разработчика.
    1. git obliterate <путь_папки>(https://github.com/tj/git-extras)
    2. git push --force

    После этой операции другим участникам, надо будет локально сбросить ветки:

    git fetch
    git checkout master
    git reset --hard origin/master


    Аналог команды git obliterate исключительно средствами Git:

    git filter-branch --force --index-filter \
    'git rm --cached --ignore-unmatch -r <путь_папки>' \
    --prune-empty --tag-name-filter cat -- --all
    Ответ написан
    Комментировать
  • Доступ к Git репозиторию по ssh из Windows?

    @ilyarsoftware
    Обычный рабочий сценарий:

    1. Установить Git-bash - https://git-scm.com/download/win
    2. Открыть Git-bash
    3. Создать пару ключей командой
      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

    4. Публичный ключ Git-bash cat $HOME/.ssh/id_rsa.pub сохранить на сервере


    Проверить соединение с сервером можно так:

    ssh -T git@host

    или

    ssh -T -i $HOME/.ssh/id_rsa git@host
    Ответ написан
  • Как подключиться к удаленному репозиторию?

    @ilyarsoftware
    Надо разместить приватные и публичный ключи (с прошлой системы) в папку ~/.ssh и установить верные права доступа:
    chmod 400 ~/.ssh/id_rsa*
    Ответ написан
  • Как передавать базу данных MySql через гит?

    @ilyarsoftware
    Для решения этой задачи есть много способов, в общем варианте можно обменивать дампом, важно только договорится об едином способе делать дамп, рекомендую:
    MYSQL_PWD=pass mysqldump \
    -uUSER -hHOST \
    --compact \
    --add-drop-table \
    --extended-insert=FALSE \
    db_name > dump.sql

    Это важно для избежания конфликтов.

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

    @ilyarsoftware
    Предположу что вы изначально клонировали свой форк и поэтому origin указывает на ваш проект.
    Для решение надо в терминале проекта выполнить команду:
    git remote set-url origin url_repo
    url_repo - ссылка на репозиторий в который надо заливать.
    Ответ написан
    Комментировать
  • Смена редактора сообщений коммитов Git под управлением Windows?

    @ilyarsoftware
    Примерно так (консоль Git-bash):
    git config --global core.editor "notepad"
    Подробнее тут stackoverflow.com/a/773973

    Просто открыть файл конфигурации он находится в домашнем каталоге называется: ".gitconfig" отредактировать значение параметра editor в секции core, прописав туда путь нужного редактора.

    Важно учитывать, что могут быть особенности запуска для конкретного редактора.
    Ответ написан
    3 комментария
  • Тестирование через коммит?

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

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

    Кода разработчик, а в идеале вся команда, делает фиксацию истории изменений, появляются возможности:
    • Понимание чем мотивированно изменение, потому что коммит привязан к номеру задачи или содержит внятный комментарий;
    • Понимание, как добавить новый функционал, если в истории коммиты это концентрированные изменения относящиеся к конкретным требования;
    • Имея в своем активе вышеперечисленные возможности и добавив Пару приемов работы с git (это же относится и к другим VCS) получаем реальный король над проектом.
    Ответ написан
    Комментировать
  • Как выделить имеющуюся часть репозитория GIT в подмодуль?

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

    git clone <git repository A url>
    cd <git repository A directory>
    git remote rm origin
    git filter-branch --subdirectory-filter <directory 1> -- --all
    mkdir <directory 1>
    mv * <directory 1>
    git add .
    git commit


    Источник: Moving Files from one Git Repository to Another, P...
    Ответ написан
    Комментировать