Контакты
Местоположение
США, California

Достижения

Все достижения (8)

Наибольший вклад в теги

Все теги (84)

Лучшие ответы пользователя

Все ответы (277)
  • Как почистить git репозиторий?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Вот несколько фактов, которые помогут тебе понять как работает Git. Можешь выписать в тетрадку.
    • Файл .gitignore предназначен для описания того, что мы не хотим СЛУЧАЙНО добавить в репозиторий. Либо не хотим случайно удалить переключив ветку.
    • Мы можем ПРИНУДИТЕЛЬНО добавить в репозиторий ЛЮБОЙ файл, даже если он описан в .gitignore.
    • Добавление файла в .gitignore не удалит сам файл из репозитория. Если файл УЖЕ в репозитории, то он продолжит отслеживаться, независимо от наличия .gitignore.
    • Если ты больше не хочешь отслеживать какой-то файл, то просто удали его из репозитория.
    • Ключ --cached позволит оставить файл в рабочем каталоге если он нужен.
    git rm --cached -- '.DS_Store'
    git commit

    Но последний рецепт сработает только на твоём компьютере. Если коллеги переключатся на этот коммит, то файл удалится у них из рабочего каталога.
    Ответ написан
    4 комментария
  • Безопасно ли удалить pull request?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Не нужно ничего удалять для доработки задачи!
    Просто вернись в свою тематическую ветку. Добавь новые коммиты с исправлениями и отправь их на гитхаб.
    Твой Pull Request обновится автоматически.

    Аналогично если на Code Review будут замечания, то ты их просто исправляешь локально в той же тематической ветке и пушишь. Доработки сразу попадут в Pull Request.
    Ответ написан
    Комментировать
  • Почему после команды git add происходит перезапись строки и новое изменение, а не только добавление нового изменения?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Видишь знак красный? Это и есть причина. В последней строке текста желательно всегда нажимать Enter, чтобы добавился символ новой строки. GitHub даже особо помечает такие места.

    61f18e243f64f153432063.png
    Строки без переноса в конце это плохо для Git. Так как если тебе захочется добавить новую строку в файл, то сначала придётся добавить в конец последней строки символ переноса, т. е. ИЗМЕНИТЬ. В истории будет видно это изменение, хотя формально, казалось бы, ничего не меняли. Это запутывает просмотр реальных изменений.

    Поэтому ВСЕГДА добавляй перенос в последней строке кода. В большинстве редакторов это выглядит как добавление пустой строки в конце, но на самом деле никакой «лишней» строки нет, это фантом.
    Если смотреть через GitHub то пустой строки уже нет.
    Ответ написан
    1 комментарий
  • Git. В терминале вылазит какой-то END и другое. Как убрать?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Git хочет показать вам более одного экрана с информацией, для этого он вызывает стандартную программу пейджера Unix less. Просто введите q, чтобы вернуться в терминал, когда вы больше не хотите перемещаться по выходным данным.

    j перейти на одну строку вниз
    k переместиться на одну строку вверх
    space перейти на одну страницу вниз
    b перейти на одну страницу вверх
    h показать помощь

    Если вы не хотите less, просто замените его другим пейджером в конфигурации. Если вам вообще не нужен пейджер, просто используйте cat:

    git config --global --add core.pager cat
    Ответ написан
    3 комментария
  • Как добавить в .gitignore такие файлы как gulpfile.js, package-lock.json и package.json?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Такие файлы добавляются в .gitignore так же, как и любой другой файл.
    Но, подозреваю, что вопрос в другом. Хочется чтобы файлы исчезли из проекта?
    Ты видишь, что файл никуда не исчез и сделал вывод, что файл не добавлен в игнор. Но это не так.
    По сути .gitignore тебе совершенно не нужен, потому что добавление файла в игнор не удалит его автоматически из репозитория, если он ранее уже был добавлен в отслеживаемые. Этот файл нужен только чтобы случайно не добавить в репозиторий лишнее. Но даже он не помешает нам добавить любой файл в репо командой git add файл

    Когда не хочешь видеть файл в репо, просто удали его физически и сделай коммит.

    Если же файл нужен в рабочем каталоге, но ты не хочешь его светить в репозитории, то удали файл только из индекса командой git rm --cached имя_файла и закоммить это.
    Ответ написан
    1 комментарий