Как переключить ветку в git не используя stash?

Обычно, если нам что-то срочно нужно поправить в другой ветке, и вернуться к работе в текущей, мы должны получить

Иногда срочно необходимо поработать в другой ветке, и вернуться к работе в текущей, то стандартный сценарий таков: прячем изменения (stash) и переключаем ветку, затем пушим изменения и возвращаемся к исходной ветке. Изменения working copy восстанавливаем из stash.Происходит такой набор действий.

Мало кто знает, но с Git 2.5, доступны множественные рабочие деревья — multiple worktrees. Это значит, что в локальном репозитории ветки доступны для параллельного chekout. Можно одновременно работать в master и develop ветке, не переключать ветки через stash, что экономит время и нервы. Пример: репозиторий клонируется в две папки, в одной — работаем с master, в другой — работаем с develop. После работы — пушим, удаляем ненужную папку.

Каждый раз делать такое утомительно. Поэтому в git появилась поддержка подобного поведения в виде команды worktree. Команда worktree add создает папку, автоматически делает в неё chekout нужной ветки.

Приведу пример: мы работаем в ветке feature1, нам нужно переключиться на ветку feature2, чтобы завершить работу внезапно заболевшего коллеги.
Структура папок изначально такая.

  • my-project
    • .gitignore
    • MyProject
      • Program.cs
    • MyProject.sln

После выполнении команды

добавляется папка feature2 под новую ветку feature2:

  • my-project
    • .gitignore
    • MyProject
      • Program.cs
    • MyProject.sln
  • feature2_hotfix
    • .gitignore
    • MyProject
      • Program.cs
    • MyProject.sln

Можем открыть папку в IDE и начать работать, либо перейти в папку в консоли: git cd ../feature2_hotfix

Когда работа завершена, можно просто удалить ненужную папку, очистить git от ненужной ссылки на ветку командой
git worktree prune или же удалить встроенной командой git worktree remove ../feature2_hotfix

Очень удобно откалывать ветку в отдельную папку такой командой:

Эта команда откалывает новую ветку some-hotfix от master и создает для нее папку hotfix-01, где можно независимо работать, достаточно перейти в нее командой cd ../hotfix-01 или pushd

Список всех подключенных worktree можно посмотреть командой git worktree list.

Ссылка на документацию: https://git-scm.com/docs/git-worktree

Ушел с Jino…

Ушел с Jino. И не жалею. Весь функционал Jino мне не нужен. Нужно было что-то удобное гибкое и современное, для маленьких проектов и блога. C хорошим аптаймом и расширяемое не такими большими шагами как Jino. Выбор пал на Beget.

Базовый курс по консоли linux от codeacademy

Codeacademy запустила интерактивный курс по консоли Linux для новичков.

На мой взгляд очень доступно (за исключением языкового порога — Курс на английском).

В этом курсе рассматривается файловая навигация, операции с файлами, редактирование конфига, переменные окружения, grep, sed, sort, uniq, в общем все то, что делает жизнь линуксоида проще и конкурентнее ). Спешите изучить. По времени у меня заняло около часа.

403 ошибка в .NET MVC приложении

Периодически стала возникать 403 ошибка в работе моего .NET C# приложения (MVC 5.2 Entity Framework 6) . Ошибка возникала иногда сразу после деплоя приложения, иногда спустя несколько часов.

В итоге выяснил, что причина тому — был указан флаг Precompile during publishing флаг в настройках публикации проекта. Настройка publishungУбрал — падения приложения прекратились. Более детально разбираться с проблемой не стал на данном этапе. Возможно, дело в IIS и FW.

xdebug — waiting for connection

Не так давно разворачивал Netbeans 8.0  с xdebug 2.2.4 на Windows 7.  Возник баг — xdebug никак не мог подключится к Netbeans, в статусной строке висел прогрессбар с надписью «waiting for xdebug connection». Сто раз перерыл и поменял все настройки, но решение было не в них — брендмауер блокировал подключение по 9000 и 9001 порту.

После добавление 9000-9001 потрта в список разрешенных (на вход и выход), все заработало.

Проверка целостности защищенных файлов — лекарство от глюков Windows

В очередной раз меня выручили встроенные средства Windows.

Симптомы у машины были таковы: после обновления системы перезагружался explorer, Internet Explorer просто не запускался (процесс появлялся и исчезал). Связано это было по всей видимости с проблемой ieframe.dll.

Вторая машина просто не загружалась после окна приветствия.

На одном из форумов мне напомнили  об утилите проверки целостности файлов Windows — sfc.
Читать далее Проверка целостности защищенных файлов — лекарство от глюков Windows

Яндекс.Метрика