И как разрешить в Sourcetree

Git не нуждается в представлении. Великие разработчики сталкиваются с проблемами Git. Некоторые проблемы просты, некоторые - трудны.

Я столкнулся с множеством проблем с Git. Ты тоже. Sourcetree продвигает вас вперед. Я использую его каждый день, и не собираюсь переходить на интерфейс командной строки. Всегда.

Как решить распространенные проблемы Git с помощью Sourcetree? Прочитать.

1. Отменить локальные фиксации.

Допустим, вы добавили фиктивный материал в эти 4 коммита. Теперь они тебе не нужны. Вот как выполнить сброс в Sourcetree.

После выполнения сброса, как показано на рисунке, вы получите диалоговое окно.

Выберите свою стратегию сброса. Я использовал софт, если нужны изменения. Аппаратный сброс, когда я сделал что-то не так в текущих изменениях.

  • Софт - сохраняет все изменения в вашем индексе.
  • Смешанный - изменения сохраняются, но не индексируются.
  • Hard - отменяет все изменения

Подумайте о том, чтобы проделать то же действие в CLI. Для этого в CLI требуется много команд. Вы не хотите медлить.

Вы знаете Git достаточно, чтобы использовать графический интерфейс. Преодолейте интерфейс командной строки. Используйте графический интерфейс.

2. Удалите файл из git, не удаляя его

Вы добавляете изменения в файл. Теперь они тебе не нужны. Кроме того, вы хотите игнорировать файл. Игнорируйте это из Git.

Вот как удалить и проигнорировать файл в Sourcetree.

Щелкните файл правой кнопкой мыши. Иди на сброс. Переходите к следующему шагу.

Щелкните файл правой кнопкой мыши. Продолжайте игнорировать. Перейдите к следующему шагу в диалоговом окне.

Два варианта. Глобальный список игнорирования и локальный список игнорирования. Выберите один, и файл больше не будет отслеживаться Git.

3. Отредактируйте сообщение фиксации.

Вы хотите изменить последнее сообщение фиксации. В CLI вы используете функцию изменения.

Вот как изменить последнюю фиксацию в Sourcetree.

После нажатия на кнопку «Применить», в верхнем левом углу, большой знак плюса, вы попадаете в эту область редактора. В «Параметры фиксации» вы можете выбрать «Изменить последнюю фиксацию».

Затем область редактора заполняется последним сообщением фиксации. Измените его и продвигайте изменения. Выполнено.

4. Толчок с силой

У вас расходящаяся история о вашем местном. Теперь вам нужно обновить удаленные ветки. Без силового толкания это невозможно.

Вот как использовать силу в Sourcetree.

Зайдите в «Настройки», а затем в раздел «Дополнительно». Отметьте «Разрешить принудительное нажатие».

После включения функции установите флажок принудительного нажатия.

Мне такой подход не нравится. Настраиваемые действия выполняются быстрее. Вот моя индивидуальная настройка принудительного нажатия.

Настраиваемое действие запускается по горячей клавише и запускает сценарий. Сценарии - это сценарии bash, которые выполняются в фоновом режиме.

# push_force.sh
#!/bin/bash
function pushF() {
    git push -f 
}
pushF

Я много использую силовой толчок. Ребазинг - это лучший вариант для меня. После перебазирования принудительное нажатие обязательно.

5. Ребазинг

Перебазирую. Я вижу, что при ребейзинге возникает много проблем. Не только с Sourcetree, но и в целом.

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

Вот как выполнить перебазирование в Sourcetree.

Вот мой сценарий bash для перебазирования. Это переместит ваши изменения в ветку разработки.

#!/bin/bash
function update() {
    if git show-branch remotes/origin/$1 &> /dev/null; then
        echo "✅ Update branch '"$1"'."
        git fetch origin $1:$1
        git rebase $1
    else
        echo "❌ Skip branch '"$1"' since it doesn't exist."
    fi
}
update develop

Sourcetree добавляет плохие диалоги, диалог «Произошла ошибка», когда вы перебазируете. Не бойся, если увидишь это. Git находится в состоянии перебазирования, и Sourcetree не справляется с этим должным образом.

После запуска скрипта вы получите этот экран. Это означает, что у вас есть конфликты. Разрешите их. И нажмите кнопку «Зафиксировать». Тогда продолжайте.

Конфликты разрешены, и вы можете продолжить перебазирование. Или вы можете прервать работу. Если вы прервете его, вы получите чистое состояние, если нет - вы продвинетесь дальше.

Заключение

Git необходим каждому великому разработчику. Изучите основы, а затем перейдите к графическому интерфейсу. Графический интерфейс - это здорово, если вы знаете основы. Если не останетесь с CLI ненадолго.

Вы можете исправить большинство ошибок с помощью версий с Git. Использование Sourcetree оказывает мне большую поддержку в решении проблем.

Я быстро двигаюсь вперед и решаю проблемы без особых усилий. Настоятельно рекомендую Sourcetree для управления репозиторием Git.

Присоединяйтесь к Medium сегодня!

Почему вам следует подписаться? Сначала отказаться от режима инкогнито в Chrome. Во-вторых, вы услышите множество замечательных историй. Вы можете прочитать около 100 книг с книжной полки прагматичного программиста. Вы можете увидеть препятствия, чрезвычайно полезные советы и отличные советы от команды Pinterest. Вы можете прочитать о последних разработках Google Cloud.

Это то, что вы получаете за 5 долларов (2 чашки кофе) в месяц. Вы получаете всю библиотеку прагматичного программиста для чтения за 5 долларов.

Отказ от ответственности: 2 доллара из 5 долларов напрямую поддержат меня и предоставят вам отличные темы.

Ресурсы



Продолжить со связанными статьями