Git / git init ба git clone

git init ба git clone

Git-тэй ажиллах хоёр эхлэл байдаг: шинэ repository үүсгэх эсвэл байгаа repository-г клон хийх.

git init — шинэ repository үүсгэх

Хоосон фолдерт буюу аль хэдийн кодтой фолдерт Git-ийг эхлүүлэхэд git init ашиглана.

bash
mkdir minii-proekt
cd minii-proekt
git init

Гаралт:

код
Initialized empty Git repository in /home/bold/minii-proekt/.git/

Энэ л болоо. Тухайн фолдер одоо Git repository болсон байна.

Аль хэдийн кодтой байгаа фолдерт ч адилхан ажилладаг:

bash
cd байгаа-проект
git init

.git фолдер юу агуулдаг вэ?

git init хийхэд .git нэртэй нуугдсан фолдер үүснэ. Git бүх мэдээллээ энд хадгалдаг:

bash
ls -la .git/
код
HEAD          — одоо ажиллаж буй branch-ийн заагч
config        — энэ repo-д зориулсан тохируулга
objects/      — commit, файл, tree-г хадгалдаг мэдээллийн сан
refs/         — branch ба tag-уудын заагчууд
hooks/        — commit, push үед ажиллах скриптүүд

.git фолдерыг хэзээ ч гараар засварлаж болохгүй. Git командуудаар удирддаг.

Хэрэв .git фолдерыг устгавал тухайн фолдер энгийн фолдер болж, бүх commit түүх алга болно.

git clone — байгаа repository клон хийх

GitHub эсвэл өөр серверт байгаа repository-г өөрийн компьютерт татаж авахад git clone ашиглана.

bash
git clone https://github.com/хэрэглэгч/repo-нэр.git

Энэ нь:

  • repo-нэр нэртэй фолдер үүсгэнэ
  • Бүх commit түүхийг татаж авна
  • Remote холболтыг автоматаар тохируулна

Тусгай нэртэй фолдерт клон хийх:

bash
git clone https://github.com/хэрэглэгч/repo-нэр.git миний-фолдер

Remote URL хэлбэрүүд: HTTPS vs SSH

Repository-г клон хийхдээ хоёр төрлийн URL ашиглаж болно.

HTTPS

bash
git clone https://github.com/хэрэглэгч/repo.git
  • Тохируулахад хялбар
  • git push хийх бүрт нэвтрэх нэр, нууц үг (эсвэл token) асуудаг
  • Сүлжээний firewall-д бага хаагддаг

SSH

bash
git clone git@github.com:хэрэглэгч/repo.git
  • Нэг удаа SSH key тохируулсны дараа нууц үг асуудаггүй
  • Өдөр тутмын ажилд илүү тохиромжтой
  • SSH key үүсгэх:
bash
ssh-keygen -t ed25519 -C "bold@example.com"

Үүссэн ~/.ssh/id_ed25519.pub файлын агуулгыг GitHub → Settings → SSH Keys хэсэгт нэмнэ.

Клон хийсний дараа

bash
git clone https://github.com/жишээ/repo.git
cd repo
git log --oneline

Бүх commit түүх татагдсан байгааг харна. Тухайн repository-д кодын засвар хийж, commit хийж, дахин push хийх боломжтой болно (хандах эрх байгаа бол).

git init vs git clone — хэзээ аль нь?

| Нөхцөл | Команд | | -------------------------------------------- | ------------------------------------------ | | Шинэ проект эхлүүлж байна | git init | | GitHub-аас татаж байна | git clone | | Багийнхны кодтой ажиллах | git clone | | Өөрийн компьютерийн кодыг GitHub руу оруулах | git initgit remote addgit push |

Дараагийн хичээлд:

Файл засварласны дараа git add болон staging area ашиглан commit-д бэлдэх аргыг судална.