git

git Откат переключение конктреного файла на состояние из другой ветки

Можно так:

git fetch && git checkout origin/имяДругойВетки путьКФайлу

Например откат к состоянию из мастера:

git fetch && git checkout origin/master путьКФайлу

git поиск Найти коммиты, историю изменений, где был изменен/удален указанный код, строка, фрагмент

Поиск изменений в истории по строке

Используйте флаг -S для команды просмотра истории (см. также официальную документацию):

git log -S "чтоищем"

Например:

git log -S "$foo->hello();"

По регулярному выражению

Для поиска по регулярному выражению, используем то же, что и выше, но с флагом -G вмето -S

git merge и rebase Варианты слияния веток

Есть два популярных варианта применения изменений из одной ветки в другую, это:

  1. git merge - т.н. "слияние"
  2. git rebase - т.н. "перебазирование"

git ours theirs Что считается своим, а что чужим - для merge и/или rebase

Все зависит от варианта объединения веток:

  • для merge - все нормальное:
    • наше (ours) - это наше,
    • theirs - изменения не из нашей ветки
  • для rebase (перебазирование) -все наоборот:
    • theris это наши изменения,
    • а ours - те, на которые мы перебазируемся.

Более подробное рассуждение на эту же тему: https://stackoverflow.com/a/25576672

git автоматическое Разрешение конфликтов "как у них" или "как у меня", чужая и своя версия

ПРИМЕЧАНИЕ: предварительно надо убедиться что именно является "их изменениями" а что "вашими", это может зависеть от способа объединения веток (который и приводит к конфликту).

Если вы уже находитесь в состоянии конфликта

То есть два варианта:

  • Выбрать "их (чужой)" вариант, напр. для всех файлов:
    git checkout --theirs .
    git add .
    

    - или конкретный путь к файлу вместо точки, или все пути сразу одной командой:

ssh Проверить подключение, авторизацию -- команда терминала

После настройки SSH в общем случае необходимо выполнить команду вида:

ssh -T имяПользователя/Сервиса@Адрес

Git-сервис

Для проверки подключения через ssh к гиту, команда обычно имеет более конкретный вид:

ssh -T git@Адрес

Примеры:

  • Для Гитхаба:

    ssh -T git@github.com

  • Для битбакета:

    ssh -T git@bitbucket.org

git Загрузка публичной части SSH RSA ключа в админку на сервере

Выберите инструкцию для вашего сервиса

Видео: Гитхаб: Загружаем публичный ключ github.com:

  • Ютуб: https://youtu.be/XTVDu_GzXng
  • ВК: https://vkvideo.ru/video-58271214_456239141

Теоретически может пригодиться:
В зависимости от требований админки и формата генерируемого ключа, может потребуется немного его изменить)

git Создание репозитория в терминале, инициаллизация, Является ли папка репозиторием - как проверить

Как проверить, что директория уже является репозиторием

Перейдем в папку и запросим, например, историю изменений:

git status

Если выведется информация о состоянии репозитория (обычно указывается название ветки), например:

On branch master

No commits yet

git fatal: does not appear to be a git repository Ошибка

При попытке сделать push получаю ошибку вида:

fatal: '/opt/micros/data/cvs/vp1764/data/d-536/r-47940536' does not appear to be a git repository

Возможная причина

В моем случае - завалился и оказался недоступен внешний git-репозиторий (bitbucket)

Pages

Subscribe to RSS - git