🔧 Git і GitHub - Частина 1: Опанування контролю версій як професіонал

🔧 Git і GitHub - Частина 1: Опанування контролю версій як професіонал

Цю статтю з англійської мови перекладено автоматично, тож вона може містити неточності. Дізнатися більше
Подивитися оригінал


Привіт, друзі! 👋 Сьогодні ми занурюємося в тему, яка Заснування Для кожного розробника — Git і GitHub. Чи ви пишете код самостійно, чи співпрацюєте з командою, важливо розуміти, як ефективно керувати та ділитися кодом. Тож давайте розберемо це крок за кроком.


🧠 Що таке система контролю версій (VCS)?

Почнемо з простого. A Система контролю версій це як Машина часу Для вашого коду. Він дозволяє вам:

  1. Зміни траси — подивитися, хто що змінив і коли.
  2. Співпрацюйте — кілька розробників можуть працювати над одним проєктом без хаосу.


🪢 Дві основні цілі VCS:

  1. Спільне використання — Розробники можуть отримувати доступ і працювати над одним і тим самим проєктом.
  2. Версування — Кожна зміна зберігається, і ви можете повернутися до попередніх версій, якщо потрібно.


🏢 Централізований проти розподіленого контролю версій

Існує два типи VCS:

🏛 Централізований VCS (як CVS, SVN):

  • Весь код працює на Центральний сервер.
  • Розробники повинні бути онлайн і підключені д�� центрального сервера, щоб вносити зміни.
  • Приклад у реальному житті: Як редагування спільного Google Doc — потрібен інтернет і доступ до оригінального файлу.

🧳 Розподілений VCS (як Git):

  • У кожного є Повна копія репозиторію.
  • Можна працювати офлайн, вносити зміни, а потім синхронізувати (Штовх/тягни) з іншими пізніше.
  • Приклад у реальному житті: Уявіть, що кожен товариш по команді має локальну копію спільного документа, а зміни об'єднуються пізніше.


🧱 Git проти GitHub – у чому різниця?

Хоча Git і GitHub часто використовуються разом, це Не те саме. Розглянемо основні відмінності:

1. Що це?

  • Геть є Інструмент контролю версій Це допомагає відстежувати та керувати змінами у вашому коді.
  • GitHub є Хмарна платформа за хостинг і співпрацю над репозиторіями Git.

2. Тип ліцензії

  • Геть повністю Відкритий код і безкоштовний у використанні.
  • GitHub є Власність, але вільний для публічних репозиторіїв. Також пропонується платні плани для приватних та розширених функцій.

3. Мета

  • Геть допомагає тобі Керуйте версіями вашого проєкту локально — комміт, гілка, злиття, відкат тощо.
  • GitHub дозволяє тобі Співпрацюйте, Код перегляду, Відкриті випуски, та Прогрес траєкторії з будь-якого місця через інтернет.

4. Інтерфейс і робочий процес

  • Геть є Командний рядок З такими командами, як git init, git commit, git push.
  • GitHub забезпечує веб-орієнтований графічний інтерфейс, де можна відкрити Pull requests, коментар, відстеження Проблеми, і перегляньте код.

Якщо ви працюєте самостійно за комп'ютером, Git — це достатньо. Але при роботі з командою або дистанційному обміні кодом вам знадобиться GitHub (або GitLab, Bitbucket тощо.) як платформа.

Геть — це двигун. GitHub це гараж, де ви зберігаєте і співпрацюєте над цим рушієм.


💻 Налаштування Git

Спочатку завантажте Git звідси. Це безкоштовно і працює на різних платформах.

🚀 Почнемо з проєкту

✅ git init

Ця команда ініціалізує порожній репозиторій Git.

Приклад:

mkdir my-project 
cd my-project 
git init        

Тепер створюється прихована папка .git — це Серце Репозиторію.

🔍 Що всередині .git?

Коли ви запускаєте git init, у вашому проєкті створюється прихована папка .git. Це мозок Git — він містить усю інформацію, необхідну Git для відстеження історії вашого проєкту.

Ось що всередині:

.git/
├── objects/       # Stores content of files (commits, trees, blobs, etc.)
├── refs/          # References to branches and tags
├── hooks/         # Scripts to automate workflows (like pre-commit checks)
├── config         # Configuration file (user info, remote URLs, etc.)
├── HEAD           # Points to the current branch (like a bookmark)        

📂 Ближчий погляд:

  • Об'єкти/ Де Git зберігає всі фактичні дані — вміст ваших файлів, коміти та дерева. Це як база даних вашого проєкту.
  • Посилання/ Зберігає посилання на коміти: гілки (Refs/heads/) та теги (Посилання/теги/).
  • Гачки/ Ви можете писати власні скрипти, які автоматично запускаються в певних моментах — наприклад, перед затвердженням коду (До комміту), або після поштовху (Після Push).
  • конфігурація Локальна конфігурація Git. Ви можете налаштовувати інформацію про користувача, пульти, редактор тощо. Приклад:
  • ГОЛОВА Вказує на наразі вилучену гілку. Уявіть це як гілку, на якій ви «сидите». Приклад:

Аналогія з реальним світом: .git — це як чорна скринька літака. Він знає все, що відбувається з вашим кодом.


📜 git log — Переглянути історію

Використовуйте це, щоб побачити всі коміти у вашому репозиторі:

git log        

Кожен запис показує:

  • Ідентифікатор коміта
  • Автор
  • Дата
  • Повідомлення про фіксацію



Припустимо, ваш поточний проєкт має баги. Ви хочете повернутися до старішої, стабільної версії.

git reset --hard 4f3c8e7        

Увага: Ось це видаляє всі зміни Після цього комміту використовуйте його обережно.


☁️ Обмін кодом з GitHub

  1. Створити обліковий запис на GitHub (Вільний!)
  2. Натисніть «Новий репозиторій» → назвіть → натисніть «Створити репозиторій»
  3. GitHub покаже вам, як підключити ваш локальний проєкт до нього.

🔗 Приклад робочого процесу (Підключіть локальний Git до GitHub)

git remote add origin https://github.com/yourusername/your-repo.git 
git branch -M main 
git push -u origin main        

Тепер ваш проєкт доступний на GitHub! 🎉


🔁 Резюме команд Git

1. git init Ініціалізує новий репозиторій Git у вашій папці проєкту. Він створює прихований каталог .git/ для початку відстеження версій.

2. git log Відображає Історія коммітів у вашому репозиторії — включно з автором, датою та повідомленням коміту. Корисно для відстеження змін і розуміння еволюції проєктів.



5. git push Завантажує ваш Місцеві коміти до віддалений репозиторій GitHub. Зазвичай використовується з git push origin main, щоб надіслати основний код філії онлайн.


🧩 Реальний випадок використання

Уявіть, що ви працюєте над командним проєктом. Одна людина додає нову функцію, інша виправляє баг. З Git і GitHub ви можете працювати незалежно, об'єднувати зміни і завжди знати, хто що зробив — і все це, зберігаючи стабільність проєкту та резервну копію.


Зустрінемось у наступній частині з детальнішою інформацією...

Щоб переглянути або залишити коментар, виконайте вхід

Інші статті Tejesh Kumar Gantyada

Інші також переглядали