Это общая тенденция людей противостоять изменениям. Если Git не был рядом, когда вы начали работать с системами контроля версий, есть вероятность, что вы знакомы с Subversion . Часто люди говорят, что Git слишком сложен для начинающих. Тем не менее, я позволю себе не согласиться!
В этом уроке я объясню, как использовать Git для ваших личных проектов. Предположим, вы создаете проект с нуля и хотите управлять им с помощью Git. После изучения основных команд мы посмотрим, как вы можете поместить свой код в облако с помощью GitHub.
Здесь мы поговорим об основах Git — как инициализировать ваши проекты, как управлять новыми и существующими файлами и как хранить ваш код в облаке. Мы избегаем относительно сложных частей Git, таких как ветвление, так как это руководство предназначено для начинающих.
Установка Git
Официальный сайт Git содержит подробную информацию об установке на Linux, Mac или Windows. В этом случае мы будем использовать Ubuntu 13.04 для демонстрационных целей, где вы устанавливаете Git с помощью apt-get
.
sudo apt-get install git
Начальная конфигурация
Давайте создадим каталог, внутри которого мы будем работать. Кроме того, вы можете использовать Git для управления одним из ваших существующих проектов, и в этом случае вы не создадите демонстрационный каталог, как показано ниже.
mkdir my_git_project cd my_git_project
Первый шаг — инициализация Git в каталоге. Это делается с помощью команды init
, которая создает каталог .git
, содержащий всю информацию, связанную с Git, для вашего проекта.
git init
Далее нам нужно настроить наше имя и адрес электронной почты. Вы можете сделать это следующим образом, заменив значения своим именем и адресом электронной почты.
git config --global user.name 'Shaumik' git config --global user.email '[email protected]' git config --global color.ui 'auto'
Важно отметить, что если вы не укажете свое имя и адрес электронной почты, будут использоваться определенные значения по умолчанию. В нашем случае имя пользователя donny и адрес электронной почты donny @ ubuntu будут значениями по умолчанию.
Кроме того, мы устанавливаем для цвета пользовательского интерфейса значение auto
чтобы выходные команды Git в терминале имели цветовую кодировку. Причина, по которой мы --global
префикс --global
к команде, состоит в том, чтобы не вводить эти команды конфигурации при следующем запуске проекта Git в нашей системе.
Подготовительные файлы для фиксации
Следующим шагом является создание некоторых файлов в каталоге. Вы можете использовать текстовый редактор, как Vim . Обратите внимание, что если вы собираетесь добавить Git в уже существующий каталог, вам не нужно выполнять этот шаг.
Проверьте статус вашего репозитория
Теперь, когда у нас есть несколько файлов в нашем хранилище, давайте посмотрим, как Git обрабатывает их. Чтобы проверить текущее состояние вашего репозитория, мы используем команду git status
.
git status
Добавление файлов для отслеживания Git
На данный момент у нас нет файлов для отслеживания Git. Нам нужно добавить файлы специально в Git, чтобы Git отслеживал их. Мы добавляем файлы, используя add
.
git add my_file
Проверка состояния хранилища снова показывает нам, что был добавлен один файл.
Чтобы добавить несколько файлов, мы используем следующее (обратите внимание, что мы добавили еще один файл для демонстрационных целей.)
git add myfile2 myfile3
Вы можете использовать git add
рекурсивно, но будьте осторожны с этой командой. Существуют определенные файлы (например, скомпилированные файлы), которые обычно хранятся в репозитории Git. Если вы используете add
рекурсивно, он добавит все такие файлы, если они присутствуют в вашем хранилище.
Удаление файлов
Допустим, вы добавили в Git файлы, которые вы не хотите отслеживать. В такой ситуации вы говорите Git прекратить их отслеживание. Тем не менее, запуск простого git rm
не только удалит его из Git, но и удалит из локальной файловой системы ! Чтобы указать Git прекратить отслеживание файла, но при этом сохранить его в локальной системе, выполните следующую команду:
git rm --cached [file_name]
Передача изменений
После того, как вы создали свои файлы, вы можете commit
их в Git. Представьте коммит как моментальный снимок времени, когда вы можете вернуться обратно, чтобы получить доступ к вашему хранилищу на этом этапе. Вы связываете сообщение коммита с каждым коммитом, который вы можете предоставить с префиксом -m
.
git commit -m "My first commit"
Предоставьте полезное сообщение о коммите, поскольку оно поможет вам определить, что вы изменили в этом коммите. Избегайте слишком общих сообщений, таких как «Исправленные ошибки». Если у вас есть система отслеживания ошибок, вы можете предоставить такие сообщения, как «Исправлена ошибка № 234». Хорошей практикой является добавление префикса имени вашей ветки или имени функции к вашему сообщению фиксации. Например, «Управление активами — добавленная функция для создания PDF-файлов активов» является значимым сообщением.
Git идентифицирует коммиты, прикрепляя длинное шестнадцатеричное число к каждому коммиту. Обычно вам не нужно копировать всю строку, и первых 5-6 символов достаточно для идентификации вашего коммита. На скриншоте обратите внимание, что 8dd76fc
идентифицирует наш первый коммит.
Дальнейшие коммиты
Давайте теперь изменим несколько файлов после нашей первой фиксации. После их изменения мы замечаем, что через git status
Git замечает изменения в отслеживаемых файлах.
Вы можете проверить изменения в отслеживаемых файлах с последнего коммита, запустив git diff
. Если вы хотите посмотреть изменения в конкретном файле, вы можете запустить git diff <file>
.
Вам нужно снова добавить эти файлы, чтобы внести изменения в отслеживаемые файлы для следующего коммита. Вы можете добавить все отслеживаемые файлы, выполнив:
git add -u
Вы можете избежать этой команды, добавив префикс -a
к git commit
, который добавляет все изменения в отслеживаемые файлы для фиксации. Этот процесс, однако, очень опасен, поскольку он может быть вредным. Например, допустим, вы открыли файл и изменили его по ошибке. Если вы их выборочно ставите, вы заметите изменения в каждом файле. Но если вы добавите -a
к вашему коммиту, все файлы будут зафиксированы, и вы не заметите возможные ошибки.
После того, как вы поставили свои файлы, вы можете перейти к фиксации. Я упомянул, что сообщение может быть связано с каждым коммитом, который мы вводили с помощью -m
. Однако вы можете предоставлять многострочные сообщения с помощью команды git commit
, которая открывает вам интерактивный формат для записи!
git commit
Управление вашим проектом
Чтобы проверить историю вашего проекта, вы можете запустить следующую команду.
git log
Это показывает всю историю проекта — список всех коммитов и их информацию. Информация о коммите содержит хеш коммита, автора, время и сообщение о коммите. Существует множество разновидностей журнала git log
, которые вы можете изучить, когда поймете концепцию branch
в Git. Чтобы просмотреть сведения о конкретном коммите и файлах, которые были изменены, выполните следующую команду:
git show <hash>
Где <hash>
— это шестнадцатеричное число, связанное с коммитом. Поскольку это руководство предназначено для начинающих, мы не будем рассказывать, как своевременно вернуться к состоянию определенного коммита или как управлять ветвями.
Поместить ваш код в облако
Как только вы научитесь управлять своим кодом в своей системе, следующий шаг — поместить его в облако. Поскольку у Git нет центрального сервера, такого как Subversion, вам нужно добавить каждый источник для совместной работы с другими. Вот где приходит понятие remote
. remote
относится к удаленной версии вашего хранилища.
Если вы хотите поместить свой код в облако, вы можете создать проект на GitHub , GitLab или BitBucket и отправить существующий код в хранилище. В этом случае удаленный репозиторий в облаке будет действовать как удаленный для вашего репозитория. Удобно, пульт, к которому у вас есть доступ для записи, называется origin
.
После создания удаленного репозитория у вас есть возможность добавить удаленный origin
а затем отправить код в источник.
git remote add origin https://github.com/sdaityari/my_git_project.git git push -u origin master
Вывод
Git полон функций, и мы рассмотрели только основы здесь. Я надеюсь, что этот пост помог вам начать работу с Git. Если у вас есть какие-либо вопросы или вопросы по началу работы, сообщите нам об этом в комментариях ниже.