Git / Remote repository

Remote repository

Өнөөг хүртэл бүх зүйл таны компьютерт локалаар явсан. Remote repository нь интернетэд (GitHub, GitLab, Bitbucket гэх мэт) байгаа repository — кодоо хадгалах, хуваалцах, багаараа ажиллах боломж олгоно.

Remote гэж юу вэ?

Локал repository нь нэг буюу хэд хэдэн remote repository-тэй холбогдож болно. Remote нь зүгээр л нэр + URL-ийн хослол:

код
origin → https://github.com/bold/minii-proekt.git
upstream → https://github.com/анхны-зохиогч/проект.git

Git remote-уудыг санаж байдаг тул push, pull хийхдээ URL-ийг дахин дахин бичих шаардлагагүй.

origin нэрний уламжлал

origin бол remote repository-ийн анхдагч нэр — техникийн стандарт биш, уламжлал. git clone хийхэд Git автоматаар клон хийсэн URL-ийг origin нэрээр хадгалдаг.

Нэг repository-д хэд хэдэн remote нэмж болно:

  • origin — өөрийн fork эсвэл үндсэн repo
  • upstream — анхны (canonical) repository, fork хийснийхээ эх

git remote -v — remote харах

bash
git remote -v
код
origin  https://github.com/bold/minii-proekt.git (fetch)
origin  https://github.com/bold/minii-proekt.git (push)

(fetch) — татах URL. (push) — илгээх URL. Ихэвчлэн хоёулаа адил байдаг.

Remote байхгүй бол хоосон гарна.

git remote add — remote нэмэх

Шинэ repository үүсгэж GitHub руу холбох:

bash
git init
git remote add origin https://github.com/bold/minii-proekt.git

Синтакс:

bash
git remote add <нэр> <URL>

GitHub дээр шинэ repository үүсгэсний дараа харуулдаг командуудтай яг адил.

upstream remote нэмэх (fork хийсэн тохиолдолд):

bash
git remote add upstream https://github.com/анхны-зохиогч/проект.git

git remote rename — нэр өөрчлөх

bash
git remote rename origin github

origin нэрийг github болгоно. Дараагийн push:

bash
git push github main

git remote remove — remote хасах

bash
git remote remove upstream

Зөвхөн холболтын мэдээллийг устгана — локал болон remote repository-д өөрчлөлт гарахгүй.

Remote URL өөрчлөх

HTTPS-ээс SSH руу шилжих:

bash
git remote set-url origin git@github.com:bold/minii-proekt.git

Repository нэр өөрчлөгдсөн үед:

bash
git remote set-url origin https://github.com/bold/шинэ-нэр.git

Тохируулгыг шалгах:

bash
git remote -v

Remote branch харах

Remote дээр байгаа branch-уудыг харах:

bash
git remote show origin
код
* remote origin
  Fetch URL: https://github.com/bold/minii-proekt.git
  Push  URL: https://github.com/bold/minii-proekt.git
  HEAD branch: main
  Remote branches:
    feature/login tracked
    main          tracked
  Local branch configured for 'git pull':
    main merges with remote main

Практик: GitHub-д шинэ repository нэмэх

bash
# 1. Локал repo үүсгэх
mkdir минии-проект
cd минии-проект
git init
git add .
git commit -m "feat: суурь бүтэц үүсгэх"

# 2. GitHub-д шинэ (хоосон) repository үүсгэх
# github.com → New repository → Нэр оруулах → Create

# 3. Remote холбох
git remote add origin https://github.com/bold/минии-проект.git

# 4. Илгээх
git push -u origin main

-u тугийн тайлбарыг дараагийн хичээлд үзнэ.

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

git push болон git pull ашиглан remote repository-тэй синхрончлох аргыг судална.