[Git] κΉ(Git)μ νμ©ν νμ λ°©λ²
μλ³Έ κ²μκΈ: https://velog.io/@euisuk-chung/κΉGitμ-νμ©ν-νμ -λ°©λ²
κΉ(Git)μ νμ©ν νμ λ°©λ²
κΉμ λΆμ° λ²μ κ΄λ¦¬ μμ€ν μΌλ‘, λ€μν ννμ νμ λ°©μμ μ§μν©λλ€. κΉμ νμ©νμ¬ νλ‘μ νΈλ₯Ό 곡μ νκ³ κ΄λ¦¬νλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
κΉμ νμ λ°©λ²
1. Pull Request(ν 리νμ€νΈ)
κΉμ Pull Request κΈ°λ₯μ μ 곡νμ¬, κ°λ°μλ€μ΄ λ€λ₯Έ κ°λ°μλ€μ λ³κ²½ λ΄μμ κ²ν νκ³ , μ΄λ₯Ό λ¨Έμ§(merge)νμ¬ νλ‘μ νΈμ λ°μν μ μμ΅λλ€.
1
2
3
4
5
6
7
8
9
10
11
12
1. λΈλμΉ μμ±
$ git branch [λΈλμΉ μ΄λ¦]
2. λ³κ²½ λ΄μ 컀λ°
$ git add [λ³κ²½λ νμΌ]
$ git commit -m "[μ»€λ° λ©μμ§]"
3. μ격 μ μ₯μμ νΈμ
$ git push origin [λΈλμΉ μ΄λ¦]
4. Pull Request μμ±
GitHub, GitLab λ±μμ Pull Request μμ±
2. Merge(λ³ν©)
Pull Requestκ° μΉμΈλλ©΄, λ³κ²½ λ΄μμ μλ λΈλμΉμ λ³ν©νλ Merge μμ μ μνν©λλ€.
1
2
$ git checkout [μλ λΈλμΉ]
$ git merge [λΈλμΉ μ΄λ¦]
3. Fork(ν¬ν¬)
κ°λ°μκ° λ€λ₯Έ κ°λ°μμ νλ‘μ νΈλ₯Ό μ§μ μμ ν μ μλ λ°©λ²μΌλ‘, ν¬ν¬ κΈ°λ₯μ μ¬μ©ν©λλ€. ν¬ν¬ν νλ‘μ νΈλ₯Ό μμ ν ν, Pull Requestλ₯Ό λ³΄λ΄ μλ³Έ νλ‘μ νΈμ λ³κ²½ λ΄μμ λ°μν μ μμ΅λλ€.
1
2
3
4
5
6
7
8
9
10
11
12
1. ν¬ν¬ν νλ‘μ νΈ Clone
$ git clone [ν¬ν¬ν μ μ₯μ URL]
2. λ³κ²½ λ΄μ 컀λ°
$ git add [λ³κ²½λ νμΌ]
$ git commit -m "[μ»€λ° λ©μμ§]"
3. ν¬ν¬ν μ격 μ μ₯μμ νΈμ
$ git push origin [λΈλμΉ μ΄λ¦]
4. μλ³Έ μ μ₯μμ Pull Request μμ±
GitHub, GitLab λ±μμ Pull Request μμ±
κΉμ νμ©ν νλ‘μ νΈ κ³΅μ μ κ΄λ¦¬
κΉμ νμ©νμ¬ νλ‘μ νΈλ₯Ό 곡μ νκ³ κ΄λ¦¬νκΈ° μν΄μλ μ격 μ μ₯μλ₯Ό μ¬μ©ν΄μΌ ν©λλ€. λνμ μΌλ‘ GitHub, GitLab, Bitbucket λ±μ΄ μμΌλ©°, μ΄λ₯Ό ν΅ν΄ νλ‘μ νΈλ₯Ό 곡μ νκ³ νμ ν μ μμ΅λλ€.
κΉμ νμ μ λ°μν μ μλ λ¬Έμ μ κ³Ό ν΄κ²° λ°©λ²
κΉμ νμ©ν νμ μ, μΆ©λμ΄λ μλͺ»λ λ¨Έμ§ λ±μ λ¬Έμ μ μ΄ λ°μν μ μμ΅λλ€. μ΄λ¬ν λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄μλ μλμ κ°μ λ°©λ²μ μ¬μ©ν μ μμ΅λλ€.
1. μΆ©λ ν΄κ²°
- μΆ©λμ΄ λ°μν νμΌμ μμ νμ¬ μΆ©λμ ν΄κ²°ν©λλ€.
- λ³κ²½ λ΄μμ λ€μ 컀λ°νκ³ , Push ν©λλ€.
2. λ¨Έμ§ μ·¨μ
- λ¨Έμ§κ° μλͺ»λμμ κ²½μ°, λ¨Έμ§λ₯Ό μ·¨μν©λλ€.
git reset --hard [μ»€λ° ID]
λͺ λ Ήμ΄λ₯Ό μ¬μ©νμ¬ ν΄λΉ μ»€λ° IDλ‘ λμκ°λλ€.- λ³κ²½ λ΄μμ λ€μ 컀λ°νκ³ , Push ν©λλ€.
3. μ΄μ λ²μ μΌλ‘ λλ리기
- μ΄μ λ²μ μΌλ‘ λλλ¦¬λ €λ©΄,
git log
λͺ λ Ήμ΄λ₯Ό μ¬μ©νμ¬ λλλ¦¬κ³ μ νλ μ»€λ° IDλ₯Ό νμΈν©λλ€. git reset --hard [μ»€λ° ID]
λͺ λ Ήμ΄λ₯Ό μ¬μ©νμ¬ ν΄λΉ μ»€λ° IDλ‘ λμκ°λλ€.- λ³κ²½ λ΄μμ λ€μ 컀λ°νκ³ , Push ν©λλ€.
4. λΈλμΉ μμ
- λ μ΄μ νμνμ§ μμ λΈλμΉλ₯Ό μμ ν μ μμ΅λλ€.
git branch -d [λΈλμΉ μ΄λ¦]
λͺ λ Ήμ΄λ₯Ό μ¬μ©ν©λλ€.
κ²°λ‘
κΉμ νμ©νμ¬ νλ‘μ νΈλ₯Ό κ΄λ¦¬νκ³ νμ νλ λ°©λ²μ λν΄ μμ보μμ΅λλ€. κΉμ ν΅ν΄ νλ‘μ νΈλ₯Ό λ³΄λ€ μ²΄κ³μ μ΄κ³ ν¨μ¨μ μΌλ‘ κ΄λ¦¬ν μ μμΌλ©°, νμ μ νμν λ€μν κΈ°λ₯μ μ 곡ν©λλ€. κ·Έλ¬λ, κΉμ μ¬μ©νλ κ³Όμ μμ λ¬Έμ κ° λ°μν μ μκΈ° λλ¬Έμ, μ΄λ¬ν λ¬Έμ λ₯Ό 미리 μλ°©νκ³ , λ¬Έμ λ°μ μ μ μ ν λμ² λ°©λ²μ μ¬μ©ν΄μΌ ν©λλ€.