Search

Git x Gitub 연동

β€’
원격저μž₯μ†Œ λ‘œμ»¬μ €μž₯μ†Œ
β€’
λ‘œμ»¬μ €μž₯μ†Œ 원격저μž₯μ†Œ

원격저μž₯μ†Œ λ‘œμ»¬μ €μž₯μ†Œ

Git Clone

원격 μ €μž₯μ†Œμ— μžˆλŠ” Git μ €μž₯μ†Œλ₯Ό λ³΅μ œν•˜μ—¬ 둜컬 μ €μž₯μ†Œλ‘œ κ°€μ Έμ˜€λŠ” λͺ…λ Ήμ–΄
1.
Github 원격 μ €μž₯μ†Œ 접속
2.
원격 μ €μž₯μ†Œ URL 볡사
3.
git clone

Github 원격 μ €μž₯μ†Œ 접속

원격 μ €μž₯μ†Œ URL 볡사

git clone

git clone [원격저μž₯μ†Œ URL]
Bash
볡사
git clone https://github.com/username/repository.git
Bash
볡사

λ‘œμ»¬μ €μž₯μ†Œ 원격저μž₯μ†Œ

1.
git init
2.
git remote

Git init

μƒˆλ‘œμš΄ μ €μž₯μ†Œ μƒμ„±ν•˜λŠ” λͺ…λ Ήμ–΄
git init λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜λ©΄ Git은 ν˜„μž¬ 디렉토리에 .git μ΄λΌλŠ” μˆ¨κ²¨μ§„ 디렉토리λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€. 이 λ””λ ‰ν† λ¦¬μ—λŠ” Git μ €μž₯μ†Œμ— ν•„μš”ν•œ λͺ¨λ“  μ„€μ •κ³Ό 메타데이터가 μ €μž₯λ©λ‹ˆλ‹€.
git init
Bash
볡사

Git Remote

원격 μ €μž₯μ†Œλ₯Ό κ΄€λ¦¬ν•˜λŠ” λͺ…λ Ήμ–΄
λͺ…λ Ήμ–΄
μ„€λͺ…
μ˜ˆμ‹œ μ½”λ“œ
git remote add
원격 μ €μž₯μ†Œλ₯Ό μΆ”κ°€
git remote add <원격 μ €μž₯μ†Œ 이름> <URL>
git remote rename
원격 μ €μž₯μ†Œμ˜ 이름을 λ³€κ²½
git remote rename <ν˜„μž¬ 이름> <μƒˆλ‘œμš΄ 이름>
git remote remove
원격 μ €μž₯μ†Œλ₯Ό 제거
git remote remove <원격 μ €μž₯μ†Œ 이름>

git remote add

git remote add origin https://github.com/user/repo.git
Bash
볡사
원격 μ €μž₯μ†Œμ˜ URL을 μ§€μ •ν•˜μ—¬ ν•΄λ‹Ή μ €μž₯μ†Œλ₯Ό 'origin'μ΄λΌλŠ” μ΄λ¦„μœΌλ‘œ μΆ”κ°€ν•©λ‹ˆλ‹€.

git remote rename

git remote rename origin main_origin
Bash
볡사
ν˜„μž¬ 이름이 'origin'인 원격 μ €μž₯μ†Œλ₯Ό 'main_origin'μ΄λΌλŠ” μ΄λ¦„μœΌλ‘œ λ³€κ²½ν•©λ‹ˆλ‹€.

git remote remove

git remote remove main_origin
Bash
볡사
'main_origin'μ΄λΌλŠ” μ΄λ¦„μ˜ 원격 μ €μž₯μ†Œλ₯Ό μ œκ±°ν•©λ‹ˆλ‹€.

λ‘œμ»¬μ €μž₯μ†Œ 원격저μž₯μ†Œ μ‹€μŠ΅ν•˜κΈ°

1.
git init
2.
μƒˆλ‘œμš΄ 파일 생성
3.
git add .
4.
git commit -m λ©”μ‹œμ§€
5.
git remote add [repository URL]
6.
git push orgin main+

git init

git init
Bash
볡사

μƒˆλ‘œμš΄ 파일 생성

README.md 파일 생성

git status

git status
Bash
볡사
Git μƒνƒœλ₯Ό 좜λ ₯ν•œλ‹€.

git add .

git add .
Bash
볡사
λͺ¨λ“  λ³€κ²½ 사항을 μŠ€ν…Œμ΄μ§•ν•©λ‹ˆλ‹€.

git commit -m λ©”μ‹œμ§€

git commit -m μ΅œμ΄ˆμ»€λ°‹
Bash
볡사
μŠ€ν…Œμ΄μ§€μ— μΆ”κ°€λœ λ³€κ²½ 사항을 μ €μž₯μ†Œμ— μ μš©μ‹œν‚΅λ‹ˆλ‹€.

git remote add [repository URL]

git remote add origin https://github.com/ALOHA-CLASS/λ ˆν¬μ§€ν† λ¦¬μ΄λ¦„
Bash
볡사
git remote add [원격 μ €μž₯μ†Œμ˜ 별칭] [원격 μ €μž₯μ†Œ URL]
β€’
둜컬 μ €μž₯μ†ŒλŠ” ν•˜λ‚˜ μ΄μƒμ˜ 원격 μ €μž₯μ†Œλ₯Ό μ—°κ²°ν•  수 μžˆλ‹€.
β€’
원격 μ €μž₯μ†Œμ˜ 별칭은 직접 μ •ν•  수 μžˆμ§€λ§Œ, 일반적으둜 origin 으둜 κ΄€μŠ΅μ μœΌλ‘œ μ‚¬μš©ν•œλ‹€.

git pull

git pull
Bash
볡사
There is no tracking information for the current branch.
ν˜„μž¬ λΈŒλžœμΉ˜μ—μ„œ 좔적할 정보가 μ—†μŠ΅λ‹ˆλ‹€.
= ν˜„μž¬ 둜컬 λΈŒλžœμΉ˜κ°€ 원격 λΈŒλžœμΉ˜μ™€ 동기화(μ—°κ²°)이 λ˜μ–΄ μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
ν•΄κ²° : 둜컬 λΈŒλžœμΉ˜μ™€ 원격 브랜치λ₯Ό 동기화해쀀닀. 즉, 좔적 브랜치 섀정을 ν•œλ‹€.
git branch --set-upstream-to=origin/main main
Bash
볡사
좔적 브랜치 μ„€μ •(--set-upstream-to)ν•˜λŠ”λ°, 둜컬 브랜치인 main μ—μ„œ 원격 브랜치인 origin/main 을 μΆ”μ ν•˜λ„λ‘ μ„€μ •ν•œλ‹€.
fatal: refusing to merge unrelated histories
μ—°κ΄€λ˜μ§€ μ•Šμ€ νžˆμŠ€ν† λ¦¬λ₯Ό 가진 λΈŒλžœμΉ˜κ°„μ˜ 병합이 κ±°μ ˆλ˜μ—ˆμŠ΅λ‹ˆλ‹€.
1.
원격 μ €μž₯μ†Œ 생성 ν›„, clone ν•˜μ—¬ 둜컬 μ €μž₯μ†Œλ‘œ λ³΅μ œν•˜μ—¬ μ§„ν–‰ν•˜λŠ” κ²½μš°λŠ” 두 μ €μž₯μ†Œμ˜ 변경사항에 λŒ€ν•œ νžˆμŠ€ν† λ¦¬κ°€ 동기화 λœλ‹€.
2.
원격 μ €μž₯μ†Œ 생성 ν›„, 둜컬 μ €μž₯μ†Œλ₯Ό λ”°λ‘œ μƒμ„±ν•œ κ²½μš°λŠ” 변경사항 νžˆμŠ€ν† λ¦¬κ°€ μ„œλ‘œ 동기화(μ—°κ΄€)λ˜μ§€ μ•ŠλŠ”λ‹€. (λ¬Έμ œκ°€ λ°œμƒν•œ 이유)
ν•΄κ²° : git rebase λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬, 변경사항(컀밋) νžˆμŠ€ν† λ¦¬λ₯Ό μž¬κ΅¬μ„±ν•˜μ—¬ 두 μ €μž₯μ†Œ κ°„μ˜ νžˆμŠ€ν† λ¦¬κ°€ 동기화 λ˜λ„λ‘ ν•œλ‹€.
(λ˜λŠ” git pull --reabase, pull μ‹œλ„ μ‹œ, μ›κ²©μ˜ 브랜치λ₯Ό 둜컬 λΈŒλžœμΉ˜μ— νžˆμŠ€ν† λ¦¬λ₯Ό μž¬λ°°μΉ˜ν•˜μ—¬ ν•΄κ²°.)

git merge

git merge --allow-unrelated-histories origin/main
Bash
볡사

git push

git push
Bash
볡사