Изображения в этом блоге взяты из книги «Pro Git» Скотта Чакона и Бена Штрауба
В этом блоге вы сможете прочитать множество интересных фактов о некоторых повседневных функциях Git, которые вы используете в программировании!
Разработчикам легко слепо использовать инструменты и не знать, как они работают «под капотом». Хотя подобные абстракции и к лучшему, иногда знание того, как все работает, может стать решающим фактором между опытным программистом и любителем.
Давайте углубимся в несколько интересных фактов!
Если вы уже давно используете Git, вам следует знать о статусе git. Однако знаете ли вы, что есть возможность получить более читаемый и минимальный вывод статуса?
Используя короткий флаг статуса, -s, вы получаете более компактный формат.
$ git status -s M README MM Rakefile A lib/git.rb M lib/simplegit.rb ?? LICENSE.txt
Вы заметите, что в левой части вывода есть два столбца. Левый столбец представляет статус промежуточной области, а правый столбец представляет статус рабочего дерева. Порядок действий в хронологическом порядке также представлен слева направо.
Давайте интерпретируем вывод выше:
Что, если вы хотите разместить свои отслеживаемые файлы и зафиксировать их все с помощью одной команды?
Вы можете сделать это, используя git commit -a -m "message".
Обратите внимание, что неотслеживаемые файлы (вновь созданные файлы), к сожалению, не будут проиндексированы с помощью этой волшебной команды.
Используйте git log для перечисления коммитов, сделанных в вашем репозитории, в обратном хронологическом порядке (самые последние коммиты отображаются первыми).
Существуют различные параметры, позволяющие настроить вывод. Давайте рассмотрим несколько полезных:
Если вы хотите удалить файл, используйте git reset HEAD . Если вы хотите отменить изменение измененного файла, используйте git checkout -- {file}.
Теперь есть более простой способ сделать и то, и другое! В Git версии 2.23.0 представлено git restre, которое предоставляет возможность 2-в-1 как удалять, так и не изменять файлы.
Скорее всего, вы хотя бы раз использовали git pull в качестве программиста. Кроме того, вы, скорее всего, слышали о git fetch, но никогда не испытывали необходимости его использовать. Что ж, давайте поговорим о том, что он на самом деле делает и чем он отличается от git pull.
Вы можете думать о извлечении как о первом этапе того, что происходит внутри извлечения.
При извлечении мы загружаем все данные из удаленного репозитория и переносим их в локальный репозиторий. Это то, что делает выборка.
На данный момент в вашем локальном репозитории есть данные, но они еще не объединены с рабочим каталогом, чтобы вы могли работать с последними изменениями. Следующим шагом в процессе извлечения является слияние с вашей веткой, чтобы последние изменения находились в вашем рабочем каталоге.
Таким образом, при извлечении извлекаются и объединяются все данные одновременно, а при извлечении выполняется только первый шаг.
Что, если я скажу вам, что есть способ сделать ваши команды git настраиваемыми? Через git config вы можете!
Вы можете установить псевдонимы для часто используемых команд, например:
$ git config --global alias.co checkout $ git config --global alias.br branch $ git config --global alias.ci commit $ git config --global alias.st status
Теперь вместо ввода git commit вам просто нужно ввести git ci.
Это особенно полезно для команд, которые помогают сделать определенную задачу более интуитивно понятной.
$ git config --global alias.unstage 'reset HEAD --' # the double dash serves as an option separator. # It tells Git to treat anything after it as a filename
Приведенная выше команда эквивалентна следующим командам:
Также часто добавляют команду last, чтобы увидеть ваш последний коммит:
$ git config --global alias.last 'log -1 HEAD'
Вот и все об этом блоге! Надеюсь, вы узнали несколько изящных приемов для своего следующего проекта с Git, которые улучшат качество вашего рабочего процесса. Спасибо за прочтение!
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3