Перейти к содержимому

Git init что делает

  • автор:

Инструкция Git для новичков: что это такое, как он работает и какие есть основные команды

Когда мы говорим о программировании, одной из важнейших составляющих является управление кодом. На первый взгляд, это кажется простой задачей, но когда проект масштабируется, управление изменениями может стать настоящим вызовом. А если я тебе скажу, что есть инструмент, который не только поможет с этой задачей, но и сделает сотрудничество с командой гладким и эффективным? Да, и этот инструмент называется Git. И сегодня он является ключом к успеху в современном программировании.

Что такое Git?

Git — это система контроля версий, которая позволяет отслеживать изменения в коде, сохраняя «снимки» на разных этапах разработки. Он помогает разработчикам сотрудничать, избегая конфликтов и сохраняя историю изменений. Git не имеет графического интерфейса по умолчанию, но есть множество инструментов, которые помогают визуализировать работу с ним.

Основные команды Git

git init — инициализирует новый репозиторий Git в текущей папке.

git add — добавляет изменения в определенный файл в индекс.

git commit -m «комментарий» — фиксирует изменения в репозитории с комментарием.

git push — отправляет изменения в удаленный репозиторий.

git pull — получает изменения из удаленного репозитория.

git clone — клонирует удаленный репозиторий.

git branch — управляет ветками в репозитории.

git merge — делает слияние веток.

Почему Git важен для разработчиков?

Git стал неотъемлемой частью современной разработки. И вот несколько причин почему:

Позволяет наблюдать за изменениями в коде и осуществлять исправления без стресса.

Можно работать в команде над большими проектами без конфликтов.

Дает возможность восстанавливать удаленные файлы и возвращать изменения с помощью истории коммитов.

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

Ответы на часто задаваемые вопросы новичков

В чем разница между Git и GitHub?

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

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

Простыми словами, Git — это инструмент, а GitHub — платформа, которая использует этот инструмент.

Обязательно ли новичку изучать Git?

Да, изучение Git важно для новичков. Git является стандартом в современном программировании, и понимание его принципов может облегчить сотрудничество в команде и помочь избежать распространенных ошибок при разработке.

Возможно ли запомнить все команды Git и нужно ли это новичку?

Запомнить все команды Git может быть сложно, ведь их достаточно много. Но нет необходимости изучать их все. Обычно разработчики используют небольшой набор основных команд, а для остальных всегда можно обратиться к документации или соответствующим онлайн-ресурсам.

Как именно работает Git?

Когда ты выполняешь git init, Git создает скрытую папку .git, где хранит всю информацию о репозитории. Каждый commit сохраняет «снимок» кода в этот момент времени, позволяя легко переходить между версиями.

Можно ли восстановить удаленные файлы в Git?

Да, одна из сильных сторон Git — возможность восстановления удаленных файлов, если они были сохранены в предыдущих коммитах. Команды git log и git checkout могут помочь в этом.

Как выбрать графический интерфейс для Git?

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

Полезные ссылки

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

Украиноязычные ресурсы:

Git How To — учебный курс по Git, переведенный на украинский язык.

Pro Git — книга на украинском языке.

Англоязычные ресурсы:

Atlassian Git Tutorial — полное руководство по Git от Atlassian.

Git Immersion — углубленное обучение Git для тех, кто хочет освоить все его возможности.

Заключение

В этом материале мы разобрали, что такое Git, его главные команды и как он работает. Это не просто инструмент, это фундаментальный элемент в мире программирования, который помогает командам добиваться успеха. Он не требует глубокого изучения всех его функций, но базовое понимание может открыть перед тобой новые горизонты. Изучение Git — это шаг, который должен сделать каждый разработчик, независимо от уровня. Советуем начать уже сейчас!

Рекомендованные программы

250 часов 7 месяцев

Frontend Developer

12 занятий 1 месяц

Продвинутый JavaScript

350 часов 9 месяцев

Full Stack (JavaScript + Node.js)

Сомневаетесь подойдет ли Вам сфера IT?

Записывайтесь на встречу и получите личный план развития в сфере ІТ

  • консультация карьерного менеджера, по выбору направления развития в сфере ІТ
  • тестирование на предрасположенность к определенному направлению обучения
  • знакомство с преподавателями курса
  • встреча с HR специалистом
  • экскурсия учебным центром
  • анализ результатов
  • подбор программы согласно полученным
    данным и вашего запроса

С нами вы построите свою успешную карьеру в ІТ!

manager

Записаться

Записаться на встречу

  • Facebook
  • instagramm
  • Youtube
  • Telegramm
  • TikTok

Украина, г. Киев, пр-т Павла Тычины, 1в, ТОЦ «Silver Breeze», офис А, 6-й этаж

© 2023 DAN IT Education. Все права защищены. © Dan-it.com.ua

Сведения о GIT

Узнайте о системе управления версиями, Git и о том, как она работает с GitHub.

About version control and Git

A version control system, or VCS, tracks the history of changes as people and teams collaborate on projects together. As developers make changes to the project, any earlier version of the project can be recovered at any time.

Developers can review project history to find out:

  • Which changes were made?
  • Who made the changes?
  • When were the changes made?
  • Why were changes needed?

VCSs give each contributor a unified and consistent view of a project, surfacing work that’s already in progress. Seeing a transparent history of changes, who made them, and how they contribute to the development of a project helps team members stay aligned while working independently.

In a distributed version control system, every developer has a full copy of the project and project history. Unlike once popular centralized version control systems, DVCSs don’t need a constant connection to a central repository. Git is the most popular distributed version control system. Git is commonly used for both open source and commercial software development, with significant benefits for individuals, teams and businesses.

  • Git lets developers see the entire timeline of their changes, decisions, and progression of any project in one place. From the moment they access the history of a project, the developer has all the context they need to understand it and start contributing.
  • Developers work in every time zone. With a DVCS like Git, collaboration can happen any time while maintaining source code integrity. Using branches, developers can safely propose changes to production code.
  • Businesses using Git can break down communication barriers between teams and keep them focused on doing their best work. Plus, Git makes it possible to align experts across a business to collaborate on major projects.

About repositories

A repository, or Git project, encompasses the entire collection of files and folders associated with a project, along with each file’s revision history. The file history appears as snapshots in time called commits. The commits can be organized into multiple lines of development called branches. Because Git is a DVCS, repositories are self-contained units and anyone who has a copy of the repository can access the entire codebase and its history. Using the command line or other ease-of-use interfaces, a Git repository also allows for: interaction with the history, cloning the repository, creating branches, committing, merging, comparing changes across versions of code, and more.

Through platforms like GitHub, Git also provides more opportunities for project transparency and collaboration. Public repositories help teams work together to build the best possible final product.

How GitHub works

GitHub hosts Git repositories and provides developers with tools to ship better code through command line features, issues (threaded discussions), pull requests, code review, or the use of a collection of free and for-purchase apps in the GitHub Marketplace. With collaboration layers like the GitHub flow, a community of 100 million developers, and an ecosystem with hundreds of integrations, GitHub changes the way software is built.

GitHub builds collaboration directly into the development process. Work is organized into repositories where developers can outline requirements or direction and set expectations for team members. Then, using the GitHub flow, developers simply create a branch to work on updates, commit changes to save them, open a pull request to propose and discuss changes, and merge pull requests once everyone is on the same page. For more information, see «GitHub flow.»

For GitHub plans and costs, see GitHub Pricing. For information on how GitHub Enterprise compares to other options, see Comparing GitHub to other DevOps solutions.

GitHub and the command line

Basic Git commands

To use Git, developers use specific commands to copy, create, change, and combine code. These commands can be executed directly from the command line or by using an application like GitHub Desktop. Here are some common commands for using Git:

  • git init initializes a brand new Git repository and begins tracking an existing directory. It adds a hidden subfolder within the existing directory that houses the internal data structure required for version control.
  • git clone creates a local copy of a project that already exists remotely. The clone includes all the project’s files, history, and branches.
  • git add stages a change. Git tracks changes to a developer’s codebase, but it’s necessary to stage and take a snapshot of the changes to include them in the project’s history. This command performs staging, the first part of that two-step process. Any changes that are staged will become a part of the next snapshot and a part of the project’s history. Staging and committing separately gives developers complete control over the history of their project without changing how they code and work.
  • git commit saves the snapshot to the project history and completes the change-tracking process. In short, a commit functions like taking a photo. Anything that’s been staged with git add will become a part of the snapshot with git commit .
  • git status shows the status of changes as untracked, modified, or staged.
  • git branch shows the branches being worked on locally.
  • git merge merges lines of development together. This command is typically used to combine changes made on two distinct branches. For example, a developer would merge when they want to combine changes from a feature branch into the main branch for deployment.
  • git pull updates the local line of development with updates from its remote counterpart. Developers use this command if a teammate has made commits to a branch on a remote, and they would like to reflect those changes in their local environment.
  • git push updates the remote repository with any commits made locally to a branch.

Example: Contribute to an existing repository

# download a repository on GitHub to our machine # Replace `owner/repo` with the owner and name of the repository to clone git clone https://github.com/owner/repo.git # change into the `repo` directory cd repo # create a new branch to store any new changes git branch my-branch # switch to that branch (line of development) git checkout my-branch # make changes, for example, edit `file1.md` and `file2.md` using the text editor # stage the changed files git add file1.md file2.md # take a snapshot of the staging area (anything that's been added) git commit -m "my snapshot" # push changes to github git push --set-upstream origin my-branch 

Example: Start a new repository and publish it to GitHub

First, you will need to create a new repository on GitHub. For more information, see «Hello World.» Do not initialize the repository with a README, .gitignore or License file. This empty repository will await your code.

# create a new directory, and initialize it with git-specific functions git init my-repo # change into the `my-repo` directory cd my-repo # create the first file in the project touch README.md # git isn't aware of the file, stage it git add README.md # take a snapshot of the staging area git commit -m "add README to initial commit" # provide the path for the repository you created on github git remote add origin https://github.com/YOUR-USERNAME/YOUR-REPOSITORY-NAME.git # push changes to github git push --set-upstream origin main 

Example: contribute to an existing branch on GitHub

This example assumes that you already have a project called repo on the machine and that a new branch has been pushed to GitHub since the last time changes were made locally.

# change into the `repo` directory cd repo # update all remote tracking branches, and the currently checked out branch git pull # change into the existing branch called `feature-a` git checkout feature-a # make changes, for example, edit `file1.md` using the text editor # stage the changed file git add file1.md # take a snapshot of the staging area git commit -m "edit file1" # push changes to github git push 

Models for collaborative development

There are two primary ways people collaborate on GitHub:

  1. Shared repository
  2. Fork and pull

With a shared repository, individuals and teams are explicitly designated as contributors with read, write, or administrator access. This simple permission structure, combined with features like protected branches, helps teams progress quickly when they adopt GitHub.

For an open source project, or for projects to which anyone can contribute, managing individual permissions can be challenging, but a fork and pull model allows anyone who can view the project to contribute. A fork is a copy of a project under a developer’s personal account. Every developer has full control of their fork and is free to implement a fix or a new feature. Work completed in forks is either kept separate, or is surfaced back to the original project via a pull request. There, maintainers can review the suggested changes before they’re merged. For more information, see «Contributing to projects.»

Git для новичков (часть 1)

Git — это консольная утилита, для отслеживания и ведения истории изменения файлов, в вашем проекте. Чаще всего его используют для кода, но можно и для других файлов. Например, для картинок — полезно для дизайнеров.

С помощью Git-a вы можете откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий.

Репозиторием называют хранилище вашего кода и историю его изменений. Git работает локально и все ваши репозитории хранятся в определенных папках на жестком диске.

Так же ваши репозитории можно хранить и в интернете. Обычно для этого используют три сервиса:

Каждая точка сохранения вашего проекта носит название коммит (commit). У каждого commit-a есть hash (уникальный id) и комментарий. Из таких commit-ов собирается ветка. Ветка — это история изменений. У каждой ветки есть свое название. Репозиторий может содержать в себе несколько веток, которые создаются из других веток или вливаются в них.

Как работает

Если посмотреть на картинку, то становиться чуть проще с пониманием. Каждый кружок, это commit. Стрелочки показывают направление, из какого commit сделан следующий. Например C3 сделан из С2 и т. д. Все эти commit находятся в ветке под названием main . Это основная ветка, чаще всего ее называют master . Прямоугольник main* показывает в каком commit мы сейчас находимся, проще говоря указатель.

В итоге получается очень простой граф, состоящий из одной ветки ( main ) и четырех commit. Все это может превратиться в более сложный граф, состоящий из нескольких веток, которые сливаются в одну.

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

Установка

Основой интерфейс для работы с Git-ом является консоль/терминал. Это не совсем удобно, тем более для новичков, поэтому предлагаю поставить дополнительную программу с графическим интерфейсом (кнопками, графиками и т.д.). О них я расскажу чуть позже.

Но для начала, все же установим сам Git.

  • Windows. Проходим по этой ссылке, выбираем под вашу ОС (32 или 64 битную), скачиваем и устанавливаем.
  • Для Mac OS. Открываем терминал и пишем:
#Если установлен Homebrew brew install git #Если нет, то вводим эту команду. git --version #После этого появится окно, где предложит установить Command Line Tools (CLT). #Соглашаемся и ждем установки. Вместе с CLT установиться и git
  • Linux. Открываем терминал и вводим следующую команду.
# Debian или Ubuntu sudo apt install git # CentOS sudo yum install git

Настройка

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

Открываем терминал (Linux и MacOS) или консоль (Windows) и вводим следующие команды.

#Установим имя для вашего пользователя #Вместо можно ввести, например, Grisha_Popov #Кавычки оставляем git config --global user.name "" #Теперь установим email. Принцип тот же. git config --global user.email ""

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

Теперь вы готовы к работе с Git локально на компьютере.

Создадим наш первый репозиторий. Для этого пройдите в папку вашего проекта.

#Для Linux и MacOS путь может выглядеть так /Users/UserName/Desktop/MyProject #Для Windows например С://MyProject cd #Инициализация/создание репозитория git init

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

#Добавим все файлы проекта в нам будующий commit git add . #Или так git add --all #Если хотим добавить конкретный файл то можно так git add #Теперь создаем commit. Обязательно указываем комментарий. #И не забываем про кавычки git commit -m ""

Отлично. Вы создали свой первый репозиторий и заполнили его первым commit.

Процесс работы с Git

Не стоит после каждого изменения файла делать commit. Чаще всего их создают, когда:

  • Создан новый функционал
  • Добавлен новый блок на верстке
  • Исправлены ошибки по коду
  • Вы завершили рабочий день и хотите сохранить код

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

Визуальный интерфейс

Как я и говорил ранее, существуют дополнительные программы для облегчения использования Git. Некоторые текстовые редакторы или полноценные среды разработки уже включают в себя вспомогательный интерфейс для работы с ним.

Но существуют и отдельные программы по работе с Git. Могу посоветовать эти:

Я не буду рассказывать как они работают. Предлагаю разобраться с этим самостоятельно.

Создаем свой первый проект и выкладываем на GitHub

Давайте разберемся как это сделать, с помощью среды разработки Visual Studio Code (VS Code).

Перед началом предлагаю зарегистрироваться на GitHub.

Создайте папку, где будет храниться ваш проект. Если такая папка уже есть, то создавать новую не надо.

После открываем VS Code .

  1. Установите себе дополнительно анализаторы кода для JavaScript и PHP
  2. Откройте вашу папку, которую создали ранее

После этого у вас появится вот такой интерфейс

  1. Здесь будут располагаться все файлы вашего проекта
  2. Здесь можно работать с Git-ом
  3. Кнопка для создания нового файла
  4. Кнопка для создания новой папки

Если ваш проект пустой, как у меня, то создайте новый файл и назовите его index.html . После этого откроется окно редактирование этого файла. Напишите в нем ! и нажмите кнопку Tab . Автоматически должен сгенерироваться скелет пустой HTML страницы. Не забудьте нажать ctrl+s чтобы файл сохранился.

Давайте теперь перейдем во вкладу для работы с Git-ом.

Откроется вот такое окно:

  1. Кнопка для публикации нашего проекта на GitHub
  2. После нажатия на кнопку 1 , появится всплывающее окно. Нужно выбрать второй вариант или там где присутствует фраза . public repository

Если вы хотите создать локальный репозиторий и опубликовать код в другой сервис, то необходимо нажать на кнопку Initialize Repository . После этого, вручную выбрать сервис куда публиковать.

После того, как выбрали «Опубликовать на GitHub публичный репозиторий» (пункт 2), программа предложит вам выбрать файлы, которые будут входить в первый commit. Проставляем галочки у всех файлов, если не проставлены и жмем ОК . Вас перекинет на сайт GitHub, где нужно будет подтвердить вход в аккаунт.

Вы создали и опубликовали репозиторий на GitHub.

Теперь сделаем изменения в коде и попробуем их снова опубликовать. Перейдите во вкладку с файлами, отредактируйте какой-нибудь файл, не забудьте нажать crtl+s (Windows) или cmd+s (MacOS), чтобы сохранить файл. Вернитесь обратно во вкладу управления Git.

Если посмотреть на значок вкладки Git, то можно увидеть цифру 1 в синем кружке. Она означает, сколько файлов у нас изменено и незакоммичено. Давайте его закоммитим и опубликуем:

  1. Кнопка для просмотра изменений в файле. Необязательно нажимать, указал для справки
  2. Добавляем наш файл для будущего commit
  3. Пишем комментарий
  4. Создаем commit
  5. Отправляем наш commit в GitHub

Поздравляю, вы научились создавать commit и отправлять его в GitHub!

Итог

Это первая вводная статья по утилите Git. Здесь мы рассмотрели:

  • Как его устанавливать
  • Как его настраивать
  • Как инициализировать репозиторий и создать commit через консоль
  • Как на примере VS Code, опубликовать свой код на GitHub

Забегая вперед, советую вам погуглить, как работают следующие команды:

git help # справка по всем командам git clone git status git branch git checkout git merge git remote git fetch git push git pull 

P.S. Для облегчения обучения, оставлю вам ссылку на бесплатный тренажер по Git.

В телеграмм канале Step by Step , я публикую еще больше материала и провожу обучающие стримы, для всех желающих.

Команда git init

Мы будем показывать на примере командной строки (Терминала). Поэтому, если Вы не знаете как работать с командной строкой — прочитайте статью «Основы работы с командной строкой (Терминалом) в Mac OS». Как работать с командной строкой в Windows — скоро разместим статью.

ВАЖНО: И в Windows, и на Mac OS используется один и тот же подход, только иногда отличаются названия команд.

Зачем нужна команда git init

«Init» — это сокращение от «initialize» ( т.е. «инициализироать» или «включать», «запускать»).

Это значит, что когда Вы пишете «git init«, Git «включается» или «запускается» для данного репозитория (т.е. папки).

Что происходит в момент «включения»?

Git создает в указанной папке скрытую папку «.git». В этой папке хранятся служебные файлы Git. Кстати, если её удалить, то Git уже не будет «видеть» эту папку (т.е. если мы напишем «git status», нам ответят что это «не Git репозиторий»).

Зачем нужна эта команда? Это — одна из нескольких команд, с которой можно начать работу с Git. Например, если Вы создаете проект у себя на компьютере, а потом уже хотите его отправить куда-нибудь «в интернеты» на удаленный репозиторий, то Вам пригодится эта команда.

Пример

Пример показан на операционной системе macOS.

Представим, что у нас есть папка «myRepository«:

Зайдем в эту папку через консоль. Если запустить команду «git status«, нам покажут следующее:

Как мы говорили выше, мы видим сообщение о том, что это не Git папка (репозиторий):

«fatal: Not a git repository (or any of the parent directories): .git«

«фатальная [ошибка]: [папка] Не является гит репозиторием (и ни одна из материнских папок [не является гит репозиторием]): [папка] .git [не была найдена]»

Как Вы видите, пока наша папка для Git «не существует». Теперь, давайте напишем «git init»:

Мы получим сообщение, что новый репозиторий был создан (инициализирован):

Отлично! Теперь, если мы запустим команду git status, то увидим:

Тут написано, что:

  • мы «на ветке мастер» («On branch master»). Это ветка, которая устанавливается по умолчанию. Пока нам это не нужно — о ветках поговорим в будущих статьях.
  • мы (пока) не сделали ни одного комита («no commits yet»). Создавать комиты мы научимся в статье про «git commit«.
  • и последняя строчка — «nothing to commit» — говорит о том, что в папке ничего нет, и мы (пока) не «следим» ни за одним файлом.

Замечательно — теперь Вы имеете общее представление о том, что такое команда git init и как ей пользоваться. Как Вы могли заметить, на последней картинке Git предлагал нам использовать «git add» для добавления файлов. Это и будет нашим следующим шагом — «git add» мы рассмотрим в следующей статье.

Упражнения

И напоследок, давайте сделаем несколько упражнений:

  1. Зайдите в папку, которая не является Git репозиторием. Напишите ‘git status‘ — что Вы увидите?
  2. Вызовите в терминале команду ls -la. Видите ли Вы в этой (не-Git) папке скрытую папку «.git«?
  3. Теперь, создайте новую папку — например, на Рабочем столе. Зайдите в нее и напишите «git init«.
  4. Теперь, находясь в этой новой папке, опять вызовем команду ‘git status‘ . Что Вы увидите?
  5. Опять вызовите в терминале команду ls -la. Видите ли Вы в этой папке скрытую папку «.git«?
  6. Попробуйте вызвать команду «git init» в той же папке. Что случится? Появится ли сообщение об ошибке?
  7. Откройте скрытую папку «.git«. Что в ней находится?

*каждый раз при выполнении задания попробуйте проанализировать, что пишет Вам в терминале Git.

Спасибо, что были с нами! ��

Надеемся, что наша статья была Вам полезна. Можно записаться к нам на курсы по Java на сайте.

  • ← Как создать репозиторий на GitHub
  • Команда git clone →

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

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