Полное руководство по Git и Github

Опубликовано: 13 Июля, 2021

Основные моменты статьи:

  1. Введение в Git
  2. Структура репозитория Git
  3. Доступ к центральному репозиторию github через Https или ssh
  4. Работа с git - важные команды Git

Введение в Git

Для установки в ubuntu вы можете обратиться к этой статье: https://www.geeksforgeeks.org/how-to-install-configure-and-use-git-on-ubuntu/

Git - это распределенная система контроля версий. Итак, что такое система контроля версий?
Система контроля версий - это система, которая поддерживает разные версии вашего проекта, когда мы работаем в команде или индивидуально. (система управления изменениями в файлах) По мере развития проекта в него добавляются новые функции. Так,
система управления версиями поддерживает все ваши различные версии вашего проекта для вас, и вы можете откатиться к любой версии, которую хотите, не доставляя вам никаких проблем с поддержанием разных версий, давая ей имена, такие как MyProject, MyProjectWithFeature1 и т. д.

Распределенная система контроля версий означает, что каждый соавтор (любой разработчик, работающий над командным проектом) имеет локальный репозиторий проекта на своем локальном компьютере, в отличие от центрального, где члены группы должны иметь подключение к Интернету, чтобы каждый раз обновлять свою работу в основном центральном репозитории. .

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

С точки зрения Github: разные версии проектов соответствуют коммитам.
Для получения дополнительной информации о введении в Github вы можете обратиться: https: //www.geeksforgeeks.org/git-lets-get-into-it/

Структура репозитория Git

Состоит из 4 частей:

  1. Рабочий каталог: это ваш локальный каталог, в котором вы создаете проект (пишете код) и вносите в него изменения.
  2. Промежуточная область (или индекс): это область, в которую вам сначала нужно поместить свой проект перед фиксацией. Это используется для проверки кода другими членами команды.
  3. Локальный репозиторий: это ваш локальный репозиторий, в котором вы фиксируете изменения в
    проект, прежде чем отправлять их в центральный репозиторий на Github. Это то, что обеспечивает распределенная система контроля версий. Это соответствует папке .git в нашем каталоге.
  4. Центральный репозиторий: это основной проект на центральном сервере, копия которого
    с каждым членом команды в качестве локального репозитория.

Вся структура репозитория является внутренней для Git и прозрачна для разработчика.

Некоторые команды, относящиеся к структуре репозитория:

git добавить
// переносит ваш проект из рабочего каталога
// в плацдарм.

git commit
// переносит ваш проект из области подготовки в 
// Локальный репозиторий.

git push
// переносит проект из локального в центральный репозиторий.
// (требуется интернет)

Доступ к центральному репозиторию github через Https или ssh

Здесь проект передачи означает передачу изменений, поскольку git очень легкий и работает с изменениями в проекте. Он выполняет внутреннюю передачу с использованием методов сжатия без потерь и передачи сжатых файлов. Https - это способ доступа по умолчанию к центральному репозиторию Github.

с помощью git remote add origin http_url:
удаленный означает удаленный центральный репозиторий.
origin соответствует вашему центральному репозиторию
который вам нужно определить (давая https URL) 
чтобы внести изменения в Github.

Через SSH: удаленное подключение к Linux или другим серверам.

Если вы получаете доступ к Github по ssh, вам не нужно вводить имя пользователя и пароль каждый раз, когда вы вносите изменения в GitHub.

Команды терминала:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Это делает генерацию ключа ssh с использованием криптографического алгоритма RSA.

eval "$ (ssh-agent -s)" -> включить информацию о локальном сеансе входа в систему.

ssh-add ~ / .ssh / id_rsa -> добавить в ключ ssh.
cat ~ / .ssh / id_rsa (используйте файл .pub, если не можете подключиться)
добавьте этот ключ ssh в github.
Теперь перейдите в настройки github -> новый ключ ssh -> создать ключ ssh -T git@github.com -> активировать ключ ssh (тестовое соединение) Обновите страницу на github.

Работа с git - важные команды Git

  • Конфигурация пользователя Git (первый шаг)
     git --version (чтобы проверить версию git)
    git config --global user.name "здесь ваше имя"
    git config --global user.email "ваш адрес электронной почты здесь"

    Это информация, прикрепленная к коммитам.

  • Инициализировать каталог:
     git init 
    инициализирует ваш каталог для работы с git и
    делает локальный репозиторий. Папка .git сделана

    ИЛИ ЖЕ

     git clone http_url 
    Это делается, если у нас есть существующий репозиторий git.
  • Подключение к репозиторию:
     git удаленный добавить источник http_url / ssh_url 
    подключиться к центральному репо, чтобы нажимать / тянуть

    pull означает перенос изменений из центрального репозитория в ваш локальный репозиторий. толкать - наоборот тянуть.

     git pull origin master

    Всегда сначала извлекайте содержимое из центрального репозитория, прежде чем нажимать, чтобы вы были в курсе работы других членов команды.
    Здесь master означает главную ветку (в Git).

  • Шаги по добавлению файла в центральный репозиторий:
    Во-первых, ваш файл находится в вашем рабочем каталоге, переместите его в промежуточную область, набрав:
     git add -A (для всех файлов и папок)
    # Чтобы добавить все файлы только в текущий каталог
    git add.
    

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

     git commit -a -m "сообщение для фиксации"
    -a: зафиксировать все файлы и файлы, которые были 
         поставленный ранее не нужно повторять git add еще раз
    Параметр -a делает это автоматически.
    git push origin master -> помещает ваши файлы в 
                             главная ветка github
    git push origin anyOtherBranch -> нажимает любой 
                          другая ветка на гитхаб.
    git log; чтобы увидеть все ваши коммиты
     git checkout commitObject (первые 8 бит) file.txt-> 
    вернуться к предыдущей фиксации для файла file.txt

    commitObject можно увидеть в журнале git.

    HEAD -> указатель на нашу последнюю фиксацию.

  • Игнорирование файлов при фиксации.
    Во многих случаях проект создает много журналов и других ненужных файлов, которые следует игнорировать. Поэтому, чтобы игнорировать эти файлы, мы должны поместить их имена в файл «.gitignore».
     коснитесь .gitignore
    echo "filename.ext" >>. gitignore
    # игнорировать все файлы с расширением .log
    echo "* .log"> .gitignore
    

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

  • Чтобы получить изменения между коммитами, коммитами и рабочим деревом.
     git diff

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

Ветвление в Git

 создать ветку ->
git ветка myBranch
или же
git checkout -b myBranch -> make и переключитесь на 
                                  филиал myBranch

Работайте в своей ветке.

Потом,

 git checkout master; вернуться в основную ветку

Сейчас,
объединить содержимое с вашим myBranch By:

 git merge myBranch (запись в главной ветке)

Это слияние дает новую фиксацию.

Другой путь:

 git rebase myBranch

Это последовательно объединяет ветку с мастером.

Сейчас,

 git push origin master

Внесите свой вклад в разработку открытого исходного кода, создав ветвь проекта и сделайте некоторую работу (добавьте новые функции) в своей ветке, а затем выполните запрос на перенос на Github.