β’
Github μ격 μ μ₯μ μμ±
β’
Github νμ μ΄λ
β’
Clone
β’
Branch κ΄λ¦¬
β¦
Branch μμ±
β¦
Branch μ κ±°
β¦
Branch μ ν
βͺ
git switch
βͺ
git checkout
β’
Push
β¦
μ΅μ΄ νλ‘μ νΈ Commit & Push (main)
β’
Pull
β¦
νμμ΄ μ΅μ΄ νλ‘μ νΈ Pull
β’
Checkout
β¦
(main) (mybranch)
β’
Coding
β¦
(mybranch) μμ μ½λ©
β¦
Commit
β¦
push
β’
Merge
β¦
Merge - (mybranch) (main)
β¦
Pull Request
β’
μ΄λ ₯ κ΄λ¦¬
β¦
git status
β¦
git log
β¦
git reset
β¦
git revert
β¦
git cherry-pick
β’
Issue
β’
DiscussionsΒ
β’
Actions
β’
Projects
β’
Wiki
Github μ격 μ μ₯μ μμ±
β’
[New] or [Create Repository]
β’
New Repository
β¦
Repository Name
β¦
Description
β¦
Public or Private
β¦
init Repository
βͺ
Add README
βͺ
Add .gitignore
βͺ
Choose a license
β’
[Create Repository]
β’
Finish
[New] or [Create Repository]
New Repository
β’
Repository Name
β’
Description
β’
Public or Private
β’
init Repository
β¦
Add README
β¦
Add .gitignore
β¦
Choose a license
[Create Repository]
Finish
Github νμ μ΄λνκΈ°
1.
Settings > Collaborators and teams
2.
[Add people]
3.
νμ μμ΄λ(μ΄λ©μΌ) μ
λ ₯
4.
νμ : μ΄λ©μΌ μ μ > [View invitation]
5.
νμ : [Accept Invitation]
Settings > Collaborators and teams
[Add people]
νμ μμ΄λ(μ΄λ©μΌ) μ λ ₯
νμ : μ΄λ©μΌ μ μ > [View invitation]
νμ : [Accept Invitation]
Clone
μ격 μ μ₯μλ₯Ό λ‘컬 μ μ₯μλ‘ λ³΅μ νλ λͺ
λ Ήμ΄
git clone [remote URL]
Bash
볡μ¬
Branch κ΄λ¦¬
β’
Branch μμ±
β’
Branch μ κ±°
β’
Branch μ ν
β¦
git switch
β¦
git checkout
Branch μμ±
μλ‘μ΄ λΈλμΉλ₯Ό μμ±ν λ μ¬μ©ν©λλ€. λΈλμΉλ₯Ό μμ±νλ©΄ νμ¬ λΈλμΉμ μνλ₯Ό 볡μ¬νμ¬ μλ‘μ΄ λΈλμΉλ₯Ό λ§λ€μ΄λΌ μ μμ΅λλ€.
git branch <branch-name>
Bash
볡μ¬
β’
git branch: μλ‘μ΄ λΈλμΉλ₯Ό μμ±ν©λλ€.
β’
<branch-name>: μλ‘μ΄ λΈλμΉμ μ΄λ¦μ μ§μ ν©λλ€.
Branch μ κ±°
μ΄μ μ λ§λ λΈλμΉλ₯Ό μ κ±°ν λ μ¬μ©ν©λλ€. μ κ±°λ λΈλμΉλ μ΄λ ₯μμ μμ ν μμ λμ§λ μκ³ , λ¨μν μ°Έμ‘°λ₯Ό μ§μλλ€.
git branch -d <branch-name>
Bash
볡μ¬
Branch μ ν
νμ¬ μμ
μ€μΈ λΈλμΉλ₯Ό λ³κ²½ν λ μ¬μ©ν©λλ€. μμ
λλ ν 리μ μ€ν
μ΄μ§ μμμ μνλ λ³κ²½λμ§ μμ΅λλ€.
β’
git switch
β’
git checkout
git switchλ₯Ό μ¬μ©νλ κ²μ΄ κΆμ₯λ©λλ€. git switchλ λͺ
νν λͺ©μ μΌλ‘ μ€κ³λμμΌλ©°, μ¬μ©μ μ€μλ₯Ό λ°©μ§νκΈ° μν΄ λ κ°κ²°νκ³ μ§κ΄μ μ
λλ€.
git switch
μ£Όμ΄μ§ λΈλμΉλ‘ μ νν©λλ€. Git 2.23 μ΄μμμ μ¬μ© κ°λ₯ν©λλ€.
git switch <branch-name>
Bash
볡μ¬
git checkout
μ£Όμ΄μ§ λΈλμΉλ‘ μ νν©λλ€. Git 2.23 λ―Έλ§μ λ²μ μμ μ¬μ© κ°λ₯ν©λλ€.
git checkout <branch-name>
Bash
볡μ¬
Push
β’
μ΅μ΄ νλ‘μ νΈ Push (main)
Push
λ‘컬 μ μ₯μμ 컀λ°μ μ격 μ μ₯μλ‘ μ
λ‘λνλ λͺ
λ Ήμ΄
git push <remote> <branch>
Bash
볡μ¬
git push origin main
Bash
볡μ¬
μ΅μ΄ νλ‘μ νΈ Commit & Push (main)
1.
μλ‘μ΄ νλ‘μ νΈ μμ±
2.
μ€ν
μ΄μ§
3.
Commit & Push
μλ‘μ΄ νλ‘μ νΈ μμ±
νμλ€κ³Ό νμ
ν μ΄κΈ° νλ‘μ νΈλ₯Ό μμ±νλ€.
μ€ν μ΄μ§
μ€ν
μ΄μ§ μμ(Staging Area)μ Gitμμ λ³κ²½λ νμΌ μ€ μ»€λ°νλ €λ νμΌλ€μ μΌμμ μΌλ‘ μ μ₯νλ 곡κ°μ
λλ€.
β’
μ€ν
μ΄μ§
β’
μ€ν
μ΄μ§ μ·¨μ
μ€ν μ΄μ§
β’
νμΌ μ€ν
μ΄μ§
git add <file>
Bash
볡μ¬
β’
λͺ¨λ λ³κ²½ νμΌ μ€ν
μ΄μ§
git add .
Bash
볡μ¬
μ€ν μ΄μ§ μ·¨μ
β’
νμΌ μ€ν
μ΄μ§ μ·¨μ
git restore --staged <file>
Bash
볡μ¬
β’
λͺ¨λ νμΌ μ€ν
μ΄μ§ μ·¨μ
git restore --staged .
Bash
볡μ¬
Commit & Push
λ³κ²½μ¬ν μ μ© λ° μ격 μ
λ‘λ
μ»€λ° λ©μμ§λ νμμ μΌλ‘ μμ±ν΄μΌνλ€.
git commit -m "μ»€λ° λ©μμ§"
git push origin main
Bash
볡μ¬
Pull
β’
νμμ΄ μ΅μ΄ νλ‘μ νΈ Pull
Pull
μ격 μ μ₯μμ λ³κ²½ μ¬νμ λ‘컬 μ μ₯μλ‘ κ°μ Έμ€λ μμ
git pull <remote> <branch>
Bash
볡μ¬
Checkout
β’
(main) (mybranch)
Checkout
λ€μν μ©λλ‘ μ¬μ©λλ©°, μ£Όλ‘ λΈλμΉ μ νκ³Ό νμΌ λλ리기μ μ¬μ©
git checkout <branch-name>
Bash
볡μ¬
Coding
β’
(mybranch) μμ μ½λ©
β’
Commit
β’
push
(mybranch) μμ μ½λ©
κ° νμλ€μ΄ μκΈ° branch μμ μ½λ μμ
μ μ§ννλ€.
κ° branch μμ μμ
μ μ§ννκ³ ν΅ν©μ ν λμλ main branch μ merge ν©λλ€.
Commit
λ³κ²½μ¬ν μ μ©
git commit -m "μ»€λ° λ©μμ§"
Bash
볡μ¬
push
μ격 μ
λ‘λ
git push origin main
Bash
볡μ¬
Merge
β’
Merge - (mybranch) (main)
β’
Pull Request
Merge - (mybranch) (main)
λ κ°μ λ€λ₯Έ λΈλμΉλ₯Ό λ³ν©νλ λͺ
λ Ήμ΄
git merge <branch-name>
Bash
볡μ¬
β’
main mybranch
β’
mybranch main
main mybranch
νμ¬κΉμ§ ν΅ν©λ νλ‘μ νΈλ₯Ό λμ branchλ‘ κ°μ Έμ€κΈ° μν΄ λ³ν©ν©λλ€.
1.
mybranch λ‘ branch μ ν
2.
main μ merge
git checkout mybranch
Bash
볡μ¬
git merge main
Bash
볡μ¬
mybranch main
νμ¬κΉμ§ κ°λ°ν λμ branch λ΄μ©μ main μΌλ‘ ν΅ν©νκΈ° μν΄ λ³ν©ν©λλ€.
1.
main λ‘ branch μ ν
2.
mybranch λ₯Ό merge
git checkout mybranch
Bash
볡μ¬
git merge mybranch
Bash
볡μ¬
Pull Request
GitHubμ κ°μ νμ
νλ«νΌμμ λ€λ₯Έ μ¬λλ€μκ² μμ μ λ³κ²½ μ¬νμ κ²ν νκ³ λ³ν©ν΄ λ¬λΌκ³ μμ²νλ κΈ°λ₯
μ΄λ ₯ κ΄λ¦¬
β’
git status
β’
git log
β’
git reset
β’
git revert
β’
git cherry-pick
Issue
νλ‘μ νΈμμ λ°μνλ λ²κ·Έ, κΈ°λ₯ μμ², μ§λ¬Έ, μμ
μμ² λ±μ μΆμ νκ³ κ΄λ¦¬νλ λ° μ¬μ©λ©λλ€.
β’
μ©λ: λ²κ·Έ 리ν¬νΈ, κΈ°λ₯ μμ², μ§λ¬Έ, μμ
ν λΉ, μ§ν μν© μΆμ .
DiscussionsΒ
νλ‘μ νΈμ λν λΉκ³΅μμ μΈ λνλ₯Ό λλκ±°λ ν λ΄μμ μμ΄λμ΄λ₯Ό λ
Όμν μ μλ 곡κ°μ
λλ€.
μ΄κ³³μμ μ¬μ©μλ νΉμ μ£Όμ μ λν΄ λ
Όμνκ±°λ μμ΄λμ΄λ₯Ό 곡μ νλ©°, μ§λ¬Έμ νκ±°λ νΌλλ°±μ λ°μ μ μμ΅λλ€.
β’
μ©λ: μμ΄λμ΄ λΈλ μΈμ€ν λ°, νΌλλ°± μμ§, λΉκ³΅μμ λν, ν λ΄ μμ¬μν΅.
Actions
GitHub Actionsμ μλνλ μν¬νλ‘μ°μ CI/CD(μ§μμ ν΅ν©/μ§μμ λ°°ν¬) μμ
μ μ€μ νκ³ κ΄λ¦¬νλ μΉμ
μ
λλ€.
μλν μμ
μ μ μνκ³ μ€ννμ¬ μ½λμ λΉλ, ν
μ€νΈ, λ°°ν¬ λ±μ μλνν μ μμ΅λλ€.
Projects
μμ
κ΄λ¦¬μ νλ‘μ νΈ κ³νμ μν λꡬμ
λλ€.
Kanban 보λ μ€νμΌμ νλ‘μ νΈ λ³΄λλ₯Ό μ¬μ©νμ¬ μμ
μ μκ°μ μΌλ‘ κ΄λ¦¬νκ³ , μ΄μ λ° ν 리νμ€νΈλ₯Ό μμ
νλͺ©μΌλ‘ μΆκ°νμ¬ μ§ν μν©μ μΆμ ν μ μμ΅λλ€.
β’
μ©λ: μμ
κ΄λ¦¬, νλ‘μ νΈ κ³ν, μ§ν μν© μκ°ν.
Wiki
νλ‘μ νΈ λ¬Έμνλ₯Ό μν 곡κ°μ
λλ€.
νλ‘μ νΈμ κ΄λ ¨λ λ¬Έμ, κ°μ΄λλΌμΈ, κ°λ° λ¬Έμ, FAQ λ±μ μμ±νμ¬ νμλ€κ³Ό 곡μ ν μ μμ΅λλ€.
β’
μ©λ: λ¬Έμν, κ°λ° κ°μ΄λ, ν λ΄ μ 보 곡μ , μ§μ λ² μ΄μ€ ꡬμΆ.
1.
μ격 μ μ₯μ κ΄λ¦¬:
β’
git remote add <name> <url>: μ격 μ μ₯μλ₯Ό μΆκ°ν©λλ€.
β’
git remote -v: μ격 μ μ₯μ λͺ©λ‘κ³Ό URLμ νμΈν©λλ€.
2.
λΈλμΉ κ΄λ¦¬:
β’
git branch: λΈλμΉ λͺ©λ‘μ νμΈνκ±°λ μλ‘μ΄ λΈλμΉλ₯Ό μμ±ν©λλ€.
β’
git checkout <branch>: νΉμ λΈλμΉλ‘ μ νν©λλ€.
β’
git merge <branch>: λ€λ₯Έ λΈλμΉμ λ³κ²½ μ¬νμ νμ¬ λΈλμΉμ λ³ν©ν©λλ€.
3.
μ격 μ μ₯μμ λκΈ°ν:
β’
git pull: μ격 μ μ₯μμμ λ³κ²½ μ¬νμ κ°μ Έμ νμ¬ λΈλμΉμ λ³ν©ν©λλ€.
β’
git push: λ‘컬 λ³κ²½ μ¬νμ μ격 μ μ₯μλ‘ νΈμν©λλ€.
4.
μΆ©λ ν΄κ²°:
β’
μΆ©λμ΄ λ°μνμ λ, git mergetool λ±μ μ¬μ©νμ¬ μΆ©λμ ν΄κ²°ν©λλ€.
5.
νμ
κΈ°λ₯:
β’
GitHub, GitLab, Bitbucket λ±μ νλ«νΌμ μ¬μ©νμ¬ μ΄μ νΈλνΉ, μ½λ 리뷰, νλ‘μ νΈ κ΄λ¦¬ λ±μ νμ
κΈ°λ₯μ νμ©ν©λλ€.