git-7524077

19 марта 2020 Разное Git

Git — это бесплатная система контроля версий с открытым исходным кодом. Это звучит невероятно скучно до тех пор, пока вам не понадобится вернуться к предыдущей версии кода, и сделать это удачно.

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

Одним из самых больших преимуществ использования Git является то, что это распределенная система. Это означает, что каждый может иметь копию репозитория кода и работать над ним индивидуально.

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

Установка Git

Самый простой способ установить Git на ПК или Mac — использовать установочный пакет. Загрузите установочный пакет с http://git-scm.com/downloads. Дважды щелкните по нему и следуйте указаниям мастера, чтобы установить Git на свой компьютер.

Графический интерфейс Git

Если вы не хотите использовать командную строку при использовании Git, вы всегда можете выбрать один из следующих клиентов Git GUI:

  • Source Tree — бесплатно для Mac и Windows
  • Tower — $67.80 (приблизительно), только для Mac
  • SmartGit — $79 Mac, ПК и Linux
  • GitX — бесплатно для Mac
  • TortoiseGit — бесплатно для Windows

Конфигурация Git

Теперь, когда Git установлен, давайте настроим его. Установите свое имя и адрес электронной почты по умолчанию:

$ git config --global user.name "Joe Bloggs"
$ git config --global user.email "joe_bloggs@address.com"

Создание репозитория

Теперь после настройки Git мы можем создать наш первый Git-репозиторий. Перейдите в каталог ваших проектов:

$ cd path/to/project

Запустите следующую команду, чтобы создать репозиторий git:

$ git init

git1-4055758

Как вы видите настроить Git для проекта очень просто. Всякий раз, когда вам нужно использовать Git, просто запустите эту команду.

Теперь мы можем использовать команду Git status, чтобы проверить текущий статус нашего репозитория:

$ git status

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

Мы инициализировали Git для нашего проекта, но нам нужно зарегистрировать файлы нашего проекта для Git, чтобы отслеживать их. Чтобы добавить файлы в проект, перечислите их вручную следующим образом:

$ git add index.html style.css

Если вы предпочитаете отслеживать все ваши файлы в рабочем каталоге, просто введите:

$ git add .

Эта команда добавит все ваши файлы в область подготовки Git.

Это нужно для того, чтобы подготовить файлы, готовые для коммита. Нам еще предстоит зафиксировать их для Git, чтобы сделать снимок изменений, внесенных в каждый отдельный файл.

git2-8224869

Теперь, когда файлы/папки отслеживаются в Git, мы можем двигаться вперед и фиксировать наши изменения. Коммиты являются самой основной функцией Git, они делают снимок ваших изменений. Каждый раз, когда мы совершаем коммит, нам нужно предоставить краткое описание, чтобы напомнить нам о чем каждый коммит:

$ git commit -m "Initial Commit"

git3-9664119

Ветвление

Ветвление — это мощная концепция в Git. Если вы хотите разработать новую функциональность, но не хотите рисковать испортить свой проект, вы можете создать ветку, которая клонирует основную ветку в отдельной среде для безопасного тестирования и разработки новых идей. Вы всегда можете объединить её обратно с вашей основной веткой master.

$ git branch

git4-4540914

В настоящее время наш проект имеет только одну ветвь, это ветка по умолчанию, обычно называемая master. За ним стоит звездочка, указывающая, что это текущая ветка, в которой мы находимся.

Давайте создадим новую ветку для разработки новых пользовательских функций. Для этого в командной строке выполните:

$ git checkout -b new-features

Мы только что создали новую ветку под названием «new-features» и переключились на эту ветку. Если мы запустим ветку Git, вы увидите следующее:

git5-3157465

В нашей новой ветке мы добавим несколько новых файлов JavaScript. Если мы выполним git status, он определит, что новые файлы JavaScript не отслеживаются. Итак, мы сделаем это и зафиксируем библиотеку JavaScript:

$ git add .
$ git commit -m "JavaScript Library"

git6-5283670

В данный момент это файлы проекта в нашем каталоге:

git7-1098611

Теперь, если мы вернемся к нашей основной ветке.

$ git checkout master

git8-2636517

Если вы посмотрите каталог нашего проекта, то увидите, что папка JavaScript отсутствует. Это потому, что мы посвятили все это ветке новых функций. В этом прелесть ветвления: все, что вы делаете в одной ветке, не будет видно в других ветвях.

git9-8135805

Gitk

Чтобы визуализировать коммиты Git в виде дерева, мы можем использовать инструмент визуализации, который поставляется в комплекте с Git и называется gitk. В командной строке запустите:

$ gitk

Gitk откроется в новом окне. Здесь в верхнем левом углу вы можете просмотреть все коммиты. Каждый коммит представлен точкой, сопровождаемой сообщением коммита. Он также отображает имя того, кто делал изменения, и дату. Ниже приведена дополнительная информация о конкретном коммите, какие файлы фиксируются и набор изменений.

git10-1322306

Вы можете заметить, что в этом ничего нет о ветке new-features. Это потому, что gitk выполняется только в основной ветке. Мы можем использовать флаг —all для отображения всех коммитов веток. Закройте окно gitk и в командной строке запустите:

$ gitk —all

Теперь мы видим коммиты, сделанные во всех ветках, включая new-features.

git11-2581179

Допустим, мы закончили работу над нашими новыми функциями и довольны конечным результатом. Давайте объединим нашу ветвь с new-features в основную ветку. Закройте gitk и в командной строке запустите:

$ git merge new-features

git12-3516824

Мы только что слили ветку new-features в основную ветку. Если вы посмотрите на наши файлы проекта, вы увидите, что JavaScript был объединен.

git13-6178180

Существуют ситуации, когда вам не нужно фиксировать все в своем Git-репозитории — лично я использую SublimeText в качестве своего текстового редактора, но это программное обеспечение генерирует файлы .sublime-project и .sublime-workspace, которые мне не нужно фиксировать. Также ваши операционные системы могут генерировать пустые файлы, такие как .DS_Store или мусорные файлы.

В командной строке, если вы запустите git status, вы заметите, что Git выделит эти файлы и укажет, что они не отслеживаются.

git14-2003207

Файл .gitignore

Чтобы решить эту проблему, мы можем использовать файл .gitignore, в котором перечислены все каталоги и файлы, которые вы не хотите помещать в репозиторий. Создайте новый файл и назовите его «.gitignore» (убедитесь, что перед именем файла стоит точка). Внутри этого файла добавьте:

# Sublime Text generated files #
###########################
*.sublime-project
*.sublime-workspace

# OS generated files #
##################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

В этом файле все, что c префиксом #, будет закомментировано. Теперь сохраните файл. Запустите git status снова, и вы заметите, что оба сгенерированных файла Sublime Text больше не отображаются в списке. Единственный файл без отслеживания — это .gitignore. Давайте добавим и это:

$ git add .
$ git commit -m "git ignore file"

Легкий тег

Как только вы достигнете определенного этапа в написании проекта, вы захотите отметить его, чтобы в случае чего вернуться к нему позднее. Вы можете делать релизы и частое версионирование вашего проекта. Это называется легкий тег в Git. Тег представляет собой статический снимок хранилища в данный конкретный момент времени, на который ссылается имя. Есть два типа тегов. Один из них — легкий, метка для указателя в вашей истории коммитов, другой — это аннотированный тег, который содержит больше информации, включая информацию о том, кто был первым создателем этого тега, дату создания и короткое сообщение с аннотацией.

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

$ git tag release-1.0.0.0

Это имя нашего тега с параметром release-1.0.0.0.

Чтобы создать новый аннотированный тег, мы просто добавляем флаг -a и флаг -m, чтобы применить короткую аннотацию:

$ git tag -a release-1.0.0.0 -m "First full public release"

Чтобы просмотреть все наши теги в хранилище, мы запускаем:

$ git tag

Если вы хотите просмотреть больше информации о конкретном теге, используйте git show с параметром tag:

$ git show release-1.0.0.0

Это покажет полную информацию об этом конкретном теге, включая имя пользователя, дату создания и аннотацию.

от admin