git clone та додаткові можливості GitHub

Вступ

У цьому уроці ми розберемо як правильно завантажити свій чи чужий репозиторій з Git. Також поглянемо на додаткові можливості GitHub при створенні нового репозиторію.


Наступна частина

Попередня частина


git clone

Команда git clone використовується для завантаження віддаленого репозиторію на комп’ютер користувача. Найбільш поширена форма команди git clone <посилання на репозиторій>. Ця команда також створює локальну master вітку, для якої вже задано у яку саме вітку віддаленого репозиторію вона має відвантажуватися. Іншими словами, після клонування репозиторію немає необхідностів виконувати

$ git remote add origin https://github.com/DeadSith/GitTutorial.git
$git push -u origin master 

Для відвантаження даних на сервер достатньо буде виконати лише команди з минулої частини.

Клонування репозиторію з GitHub

GitHub дозволяє клонувати репозиторій по HTTPS або SSH. Користувачам Windows буде зручніше використати HTTPS, бо SSH потребує додаткових налаштувань. Користувачам інших операційних систем рекомендую налаштувати SSH, оскільки це дозволить зекономити час при подальшій роботі. Щоб клонувати репозиторій з GitHub необхідно перейти на його сторінку і натиснути на Clone or download. Клонування репозиторію У правому куті цього меню можна вибрати спосіб завантаження(SSH чи HTTPS) і скопіювати посилання. Після цього необхідно відкрити будь-яку папку, яка не є Git-репозиторієм і клонувати репозиторій.

$ git clone <посилання>
Клонування в 'GitTutorial'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Отримання об’єктів: 100% (3/3), виконано.
Перевірка з’єднання… виконано.

Щоб переконатися, що репозиторій успішно клоновано і ми можемо відвантажити його назад на GitHub, створимо ще один файл і додамо в обидва файли текст. Наступний код покаже приклад створення файлу з консолі. Для правильного виконання коду, Git Bash має бути відкритий у папці, в якій ми клонували код. Внаслідок клонування у поточній папці створена нова папка з ім’ям репозиторію. Виконаємо наступний код:

$ cd ./GitTutorial #переходимо в папку репозиторію
# Якщо у вас папка має іншу назву, то 
# змініть GitTutorial на відповідну назву
$ echo "Example text 1" >> 1.cs # записуємо текст в файл 1.cs
$ echo "Example text 2" >> 2.rb # створюємо файл 2.rb і записуємо в нього текст

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

$ git add .
$ git commit -m"Second commit"
[master ee6604d] Second commit
2 files changed, 2 insertions(+)
create mode 100644 2.rb
$ git push
Підрахунок об’єктів: 4, виконано.
Delta compression using up to 4 threads.
Стиснення об’єктів: 100% (2/2), виконано.
Запис об’єктів: 100% (4/4), 305 bytes | 0 bytes/s, виконано.
Total 4 (delta 0), reused 0 (delta 0)
To github.com:DeadSith/GitTutorial.git
   f3a0000..ee6604d  master -> master

Самостійне завдання

Спробуйте клонувати мій репозиторій. Створіть власний порожній репозиторій. Потім видаліть origin з клонованого репозиторію і замініть його на свій. Відвантажте репозиторій на GitHub. Видалити origin і додати свій можна згідно з інструкцією з минулої частини.
Якщо виникли певні проблеми чи питання при виконанні завдання - задавайте їх в коментарях.


На цьому частина уроку присвячена безпосередньо Git закінчується. У наступній частині я розповім про всі можливості GitHub при створенні репозиторіїв.


Створення репозиторіїв на Github

Надалі я буду описувати сторінку створення репозиторіїв. Сторінка створення репозиторію Поле Repository Name є єдиним обов’язковим полем, ту користувач має задати назву. GitHub пропонує випадкову назву при створенні репозиторіїв, проте бажано називати їх не випадковим чином. Назва має передавати вміст репозиторію.
У полі Description можна написати короткий опис проекту(кілька слів). Для записування більшої кількості інформації про репозиторій(наприклад, завдання лабораторної роботи) слід використовувати файл README.

Public i private репозиторії

GitHub дозволяє створити 2 типи репозиторіїв: публічні(будь-хто з користувачів може переглядати і клонувати ваш репозиторій) та приватні(доступ до репозиторію маєте лише ви та люди, яким ви дали дозвіл). Для вас, як для власнику репозиторію, жодної різниці немає, оскільки ви завжди маєте повний доступ до репозиторію.

Публічні репозиторії

Будь-хто з користувачів має право переглянути ваш код, завантажити його, створити форк. Додавати нові коміти у репозиторій може лиш власник та авторизовані ним користувачі. При цьому будь-хто може створювати pull request(запит на одноразове додання власного коду в ваш репозиторій) та issue(проблема, спосіб користавача повідомити вас про певну проблему з програмою)

Приватні репозиторії

Вони недоступні на безкоштовних профілях. Вартість від 7$ в місяць, але доступно безкоштовно через Student Developer Pack. Pull request та issues не доступні іншим корстувачам. Код також прихований.

Авторизація користувачів

Щоб надати іншим постійну можливість завантажувати код у ваші репозиторії необхідно зробити наступні дії:

  1. Відкрити сторінку репозиторію.
  2. Перейти на вкладку Settings.
  3. У лівому меню вибрати пункт Collaborators і ввести пароль.
  4. У нижньомі полі знайти необхідного користувача та натиснути Add collaborator.

README-файл

GitHub надає можливість відобразити файл, у якому ви описуєте вміст репозиторію. Цей файл називається README.md і повинен бути розміщений в кореневому каталозі репозиторію. Файл пишеться на мові розмітки Markdown.
Якщо при створенні репозиторію ви поставити галочку біля “Initialize this repository with a README”, то GitHub автоматично створить цей файл за вас. Вмістом буде лише заголовок з назвою проекту.

.gitignore

Цей файл дозволяє виключити певні файли та папки з репозиторію. Він досить простий у роботі; достатньо лише ввести назву <файлу> або <папки/> і вона буде виключена. Детальніше тут.
GitHub має велику кількість шаблонів цього файлу для різних мов і середовищ, що дозволяє автоматично ігнорувати непотрібні файли.
Якщо ви вирішили самостійно написати .gitignore, необхідно бути впевненим, що файл, який ви виключаєте, є дійсно непотрібним.
Також варто виключати файли, які містять якусь приватну інформацію(логіни і паролі від сервісів, баз даних, тощо).

Ліцензія

GitHub підтримує ліцензування репозиторіїв. Якщо ви помістите в корінь репозиторію файл LICENSE, GitHub розпізнає його і буде виводити ліцензію на сторінці проекту.
Ліцензія не є обов’язковим елементом проекту; її вибір можу бути досить складним. Перед вибором ліцензії необхідно ознайомитись з ліцензіями усіх елементів проекту і на основі цих даних вибрати ті, які можна використати у поєднанні з ліцензіями компонентів. Потім з отриманого списку вибрати найкращу для вас ліцензію.


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


Share Comments
comments powered by Disqus