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

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

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

ssh-keygen -t rsa -C "[email protected]"

При запуске команды два файла с именами id_rsa и id_rsa.pub будут найдены в вашем каталоге .ssh, который находится в вашем домашнем каталоге. Откройте браузер и перейдите в github, где в настройках вашей учетной записи есть пункт меню под названием SSH и ключи GPG. Нажмите на нее, чтобы перейти на страницу, где вы можете настроить свой ssh-ключ. Скопируйте содержимое своего id_rsa.pub и вставьте его сюда. Ключ SSH будет добавлен в вашу учетную запись github. Этот шаг необходим, поскольку git использует протокол ssh для проверки вашей личности и передачи файлов.

Теперь вы можете создать свой новый репозиторий на гитхабе. Не забудьте поставить галочку напротив пункта «Инициализировать этот репозиторий с помощью README», потому что «Это позволит вам немедленно клонировать репозиторий на свой компьютер».

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

git clone [email protected]:your_account_name/your_project_name.git

После этого вы увидите README.md в своем рабочем каталоге, и вы сможете проверить свои удаленные настройки с помощью следующей команды

git remote -v

Ваша конфигурация сохраняется в файле ./git/config, и он хорошо объясняет себя.
Каталог .git - это ваш репозиторий git, а текущий каталог ваше рабочее место.

Запустите git branch, вы обнаружите, что находитесь в ветке с именем master. Branch - это то, что используется для управления вашим развитием. По умолчанию существует основная ветка с именем master, которая должна включать только те важные и основные фиксации, то есть выпуск версии, и вы не должны работать с этой веткой. Итак, вам нужно создать ветку для своей разработки, где вы будете писать код. Выполнение следующей команды создаст ее и переключится на нее.

git checkout -b dev

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

git add -A
git commit -m "your description on the feature you have done"

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

git log

Если вы хотите вернуться в какой-то момент истории, выполните следующую команду

git reset --hard <your specialized commit's hash code>

Если вы просто хотите вернуться к фиксации перед последней фиксацией, это сработает.

git reset --hard HEAD^

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

git reflog

Найдя его, запустите git reset, чтобы добраться до нужной точки.

Если вы хотите удалить файл в репозитории git, используйте следующую строку

git rm <your file>

В любой момент вы можете узнать свой статус по команде

git status

После того, как вы завершили версию, скажем, v0.1, вы можете объединить ее в мастер, выполнив следующие команды

git checkout master
git merge dev

Эти две строки сначала переключаются на ветку master, а затем объединяют ветку dev, по умолчанию, в режиме быстрой перемотки вперед.

Наконец, удалите ветку dev командой

git branch -d dev

Вы можете отправить свои файлы в github с помощью следующей команды

git push origin master

Это означает, что вы отправите свою главную ветку на удаленный сервер.

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

<<<<<<< HEAD
      Collsion Line 
=======
      Collsion Line
>>>>>>> feature1

Существует полезная команда под названием diff, как показано ниже, которая покажет разницу между двумя коммитами.

git diff <commit #1> <commit #2>

or

git diff <commit-id> [<path>...]

который сравнит специализированный коммит с текущим рабочим пространством.

Предположим, что в одной ситуации вы работаете над веткой, но вам нужно проделать некоторую работу над другой веткой, например, исправление ошибок. Вы не хотите совершать коммит, потому что вы еще не закончили его, но вы не хотите потерять файлы, которые вы кодируете. Что вы можете сделать, так это поместить свой «снимок экрана» в стек с именем stash.

git stash

Вышеупомянутая строка сохранит ваш «снимок экрана» в стеке stash, и когда вы вернетесь, вам нужно просто вытащить его из стека и продолжить работу,

git stash pop

Если вы поместили в свой тайник более одного «снимка экрана», вы можете проверить его,

git stash list

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

git tag <tag name> <commit hashed code>

Следующий код удалит тег

git tag -d <tag name>

А команда git tag без аргументов покажет все теги.

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