Работа с Git, что это такое - Git?

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

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

Установка git в Windows

Скачайте нужный файл с сайта git и установите.

После установки в Меню Пуск появится несколько новых иконок (Git Bash, Git GUI). Мы будем пользоваться Git Bash - это командная строка, похожая на Линуксовскую, через которую мы можем вызывать команды git и который немного удобнее чем командная строка windows. Команды git также можно вызывать в стандартной командной строке.

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

Для примера возьмем проект kyle, который будет находиться в нашей папке проектов projects. Через Поиск в пуске находим Git Bash и запускаем. С помощью команды cd переходим в папку projects, где бы она не находилась

...
cd projects

Теперь создадим новую папку для проекта kyle и перейдем сразу в нее.

mkdir kyle
cd kyle

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

Пока в нашей папке нет никаких файлов. Создаем git-репозиторий тут чтобы следить за изменениями файлов в этой папке. Для этого используем команду:

git init

В ответ будет написано что-то такое:

Initialized empty Git repository in C:/Users/Alish/projects/kyle/.git/

Что в переводе означает "Создан пустой git репозиторий в папке C:/Users/Alish/projects/kyle/.git/"

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

ls -la

И мы увидим:

drwxr-xr-x 1 Alish 197121 0 Jan  4 03:30 ./
drwxr-xr-x 1 Alish 197121 0 Jan  4 03:28 ../
drwxr-xr-x 1 Alish 197121 0 Jan  4 03:30 .git/

. - это текущая папка

.. - это родительская папка

.git - папка репозитория

Добавление файлов в контроль версий

Теперь у нас есть репозиторий. Нам нужно создать один файл, чтобы увидеть как git следит за изменениями. Используя любой редактор создаем в папке projects/kyle создаем файл program.py со следующим кодом

def sum(a, b):
    return a+b

sum(3, 4)

После сохранения файла еще раз смотрим список файлов командой ls -la и видим что добавился один файл

drwxr-xr-x 1 Alish 197121 0 Jan  4 03:30 ./
drwxr-xr-x 1 Alish 197121 0 Jan  4 03:28 ../
drwxr-xr-x 1 Alish 197121  0 Jan  4 03:30 .git/
-rw-r--r-- 1 Alish 197121 43 Jan  4 03:42 program.py

Теперь, чтобы начать следить за этим файлом, мы должны добавить его в контроль. Для этого используется команда git add. Как параметр у этой команды нужно указать файл или шаблон имен файлов. Например следующая команда добавит только файл program.py в контроль:

git add program.py

А эта команда добавит в контроль все файлы с расширением .py в текущей папке

git add *.py

А следующая команда добавит все файлы в текущей папке и в подпапках

git add .

В нашем случае нам разницы нет какой из них использовать, в любом случае файл program.py будет добавлен в контроль версий. 

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

git status

и видим что есть новый файл

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   program.py

Сохранение изменений

После этого нам нужно сохранить сделанные изменения в файлах. Это операция в git называется коммитом. Для каждого коммита указывается имя и email разработчика и комментарий разработчика.

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

git config --global user.name "Alisher Alikulov"

а почту так:

git config --global user.email "masteraalish@gmail.com"

Теперь мы готовы делать коммиты. Чтобы сделать коммит нужно вызвать команду:

git commit -m "Add file program.py"

Всегда указывается комментарий после флага -m в кавычках. 

Добавление файла у нас сохранено, т.е. можно сказать что первая версия файла готов. Теперь сделаем изменения в файле: изменим название функции на add и внизу добавим print. чтобы получилось так:

def add(a, b):
    return a+b

print(add(3, 4))
print(add(10, 12))
print(add(99, 11))

после изменения файла, мы можем спросить состояние репозитория и узнать что файл program.py был изменен(modified)

git status

и красным будет написано

      modified:  program.py

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

git add .

Потом делаем коммит с указанием комментария:

git commit -m "Rename sum function"

Как залить файлы Git в удаленный репозиторий

Когда вам нужно поделиться вашим кодом с другими или сделать так, чтобы вы могли получать доступ к нему с любого места, вам нужно залить код в удаленный репозиторий. Есть бесплатные сервисы которые обеспечивают хранилищем для этого. Например github.com, bitbucket.org, gitlab.com.

Мы возьмем bitbucket.org как пример. Чтобы пользоваться им, нужно зарегистрироваться. 

После регистрации, нам нужно создать репозиторий в Bitbucket, куда мы будем заливать наш код. 

1. Создание репозитория в Bibucket

Для создания нового репозитория в главном меню сайта, откройте пункт Repositories и выберите там "Create repository". Дайте имя, уберите галочку "this is private repo" и нажмите "Create repository". 

После этого Bitbucket создаст для вас репозиторий и подскажет что делать дальше. Если у вас уже есть код который вы хотите залить сюда, то внизу нажмите "> I have an existing project" (У меня есть существующий проект) и появится инструкцию для заливки кода. 

Шаг 1. Перейти в папку проект на компьютера

cd projects/kyle/

Шаг 2. Подключить ваш локальный репозиторий к удаленному 

Для этого вам сначала нужно скопировать ссылку в удаленный репозиторий сверху страницы. Там есть переключатель SSH->HTTPS и ссылка. Переключите на HTTPS и скопируйте ссылку.

Скопированную ссылку введите в командной строке в команду вместо "https://test@test":

git remote add origin https://test@test

Теперь нужно залить код в Bitbucket. Для этого используется команда:

git push -u origin master

После этого вам придется ввести ваше имя пользователя и пароль от Bitbucket.

Если успешно все прошло, то вы можете посмотреть ваш код на главной странице в Bitbucket.

1493 18
Alisher Alikulov