Git для начинающих — как пользоваться

Как работать с Git

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

Для начала создайте новый репозиторий на GitHub. Перейдите по этой ссылке. Теперь придумайте папку, в которую Вы хотите разместить локальный Git.

$ cd Desktop/MyGit

Создадим файл и добавим его в Git

$ touch README.md

Так можно добавить все, что есть в директории

$ git add .

ИЛИ добавим конкретный файл

$ git add README.md

Пере коммитом можно посмотреть, что изменено

$ git status

Фиксация изменений распространяется на Ваш Git репозиторий

$ git commit -m "First commit"

То, что написано в кавычках — это изменения, которые прочтут остальные в Вашем репозитории

Можно отменить изменения, если Вы, например, заметили, что отправили в репозиторий код с ошибками… Удалим последний коммит:

$ git reset HEAD~1

Добавим удаленный репозиторий:

$ git remote add origin https://github.com/username/repoX

Просмотреть список удаленных репозиториев можно так:

$ git remote -v

А теперь настало время «запушить» (отправить) изменения на наш удаленный репозиторий:

$ git push -u origin master

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

Чтобы показать изменения файлов, которые еще не были выполнены:

$ git diff

Возврат к последней зафиксированной версии в Git репозитории:

$ git checkout .

ИЛИ можно указать конкретный файл

$ git checkout README.md

Просмотрим историю изменений так:

$ git log

Каждый раз, когда вы вносите изменения, которые вы хотите отразить на GitHub, используем эти команды:

$ git add .
$ git status
$ git commit -m "Second commit"
$ git push -u origin master

Это все хорошо… но как я могу скачать и работать с другими репозиториями на GitHub? Клонируем репозиторий. Перейдите в каталог, в котором Вы хотите клонировать репозиторий. Скопируйте ссылку на нужный репозиторий и введите следующее:

$ git clone ссылка_на_репозиторий

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

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

Ниже приведен пример проекта, над которым мы с моим другом сотрудничаем:

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

$ git pull origin master

Вот еще две полезные команды Git:

$ git fetch
$ git merge

Когда вы используете git pull, Git пытается автоматически выполнять всю работу за Вас. Он чувствителен к контексту, поэтому Git объединит любые вытащенные коммиты в ветку, в которой Вы сейчас работаете. git pull автоматически объединяет коммиты, не позволяя Вам сначала просмотреть их.

Схема простого рабочего процесса Git

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

Еще одна вещь:

$ touch .gitignore

Так что же это?

Этот файл сообщает Git, какие файлы (или шаблоны) он должен игнорировать. Он обычно используется, чтобы избежать фиксации временных файлов из Вашего рабочего каталога, которые не полезны для других сотрудников, таких как продукты компиляции, временные файлы IDE create и т. д.

Так что в приведенном выше примере, файлы, такие как __pycache__, .DS_Store используются системой для хранения информации для более быстрого доступа. Это не полезно для других сотрудников. Поэтому мы можем сказать Git игнорировать их, добавив их в файл .gitignore

Создадим этот файл .gitignore:

$ touch .gitignore

И добавим, что игнорировать:

/*.cmake/*.DS_Store/.user/build


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Unlix © Все права защищены 2019

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!