[Git μ λ¬Έ] Gitμ κΈ°μ΄ κ°λ - 2
2022. 8. 2. 12:38
μ λ² ν¬μ€ν μμ μ ν GitμΌλ‘λ λ€μκ³Ό κ°μ μμ λ°©μμ μ λ§ νΈλ¦¬νκ² ν μ μλ€.
- λκ° μ΄ μμ μ ν κ²μΈμ§ μ νλ€.
- κ°μ λ§‘μ κ²μ μμ νλ€.
- κ°μ μμ μ νλ‘μ νΈμ ν©μΉ μ μκ² κ³΅μ νλ€.
- μμ ν λ΄μ©μ 리뷰νκ³ μ΅μ’ μ μΌλ‘ νλ‘μ νΈμ λ°μνλ€.
μ΄λ¬ν λ°©μμ μ€μ λ‘ κ°λ°μλ€μ΄ νμ νλ‘μ νΈλ₯Ό ν λ μ§ννλ λ°©μμ΄λ€. μ΄ λ, νμ νλ μ‘°μ§λ§λ€ Gitμ μ¬μ©νλ λ°©λ²(κΉ μ»¨λ²€μ )μ μ ν΄λκ³ μ½μμ μ§μΌ νμ νλ€.
Issue
νλ‘μ νΈμμ ν΄κ²°ν΄μΌ νλ λ¬Έμ
- Bug Report (λ²κ·Έ 리ν¬νΈ) : λ²κ·Έ(νλ‘κ·Έλ¨μ΄ μνλλλ‘ λμνμ§ μλ κ²)μ μ κ³
- Enhancement : κΈ°λ₯ μΆκ° λ±μ νλ‘μ νΈ κ°μ μ μ
- μ λ¬Έμ λ€μ ν΄κ²°νκΈ° μν μμ λ¨μ
κ°λ°μλ€μ 'issue (μ΄μ)'λΌλ μ©μ΄ μ¬μ©λ²
- νμκ°μ κΈ°λ₯μμ λ²κ·Έ μλ€μ. μ΄μ λ±λ‘ν΄λκ²μ~
- μ¬κΈ° λ²νΌμ λμ λ μ λκ² κ³ μΉλ©΄ μ’μ κ² κ°μλ°μ? μ΄μ λ±λ‘ν΄λκ²μ.
- 6λ² μ΄μ μ κ° μ²λ¦¬ν κ²μ. μ μμΌλ‘ ν λΉν΄λκ² μ΅λλ€.
Issue Tracker
= Issue Tracking Tool(μ΄μ μΆμ λꡬ), μ΄μ νΈλ컀
- μ΄μλ₯Ό μΆμ (tracking)νλ©΄μ κ΄λ¦¬ν μ μλ ν΄
- Github, Jira, Trello, YouTrack λ±
Githubμμ Issue λ±λ‘νκΈ°
- Assignees(λ΄λΉμ) : μ΄ μ΄μ μμ μ λ° μ°κ΄μ
- Labels : μ΄ issueκ° μ΄λ€ μ’
λ₯μΈμ§ λΆλ₯ν΄μ£Όλ κ². Githubμ΄ μ 곡νλ κΈ°λ³Έ λΌλ²¨λ μ¬μ© κ°λ₯νλ©°, μ§μ λ§λ€μ΄ μ¬μ©λ κ°λ₯.
- bug : μκΈ°μΉ μμ λ¬Έμ λλ μλνμ§ μμ λμ(λ²κ·Έ)
- documentation : λ¬Έμλ₯Ό κ°μ /μΆκ°ν΄μΌ ν νμκ° μμ
- duplicate : ν΄λΉ μ΄μ λλ PRμ΄ κΈ°μ‘΄μ μμ
- enhancement : μλ‘μ΄ κΈ°λ₯ μΆκ°/κ°μ μμ²
- good first issue : μ²μ νλ‘μ νΈμ μ°Έμ¬νλ μ¬λμ΄ μμ νκΈ° μ¬μ΄ μ΄μ
- help wanted : κ΄λ¦¬μκ° λ¬Έμ λλ PR μμ²μ λν λμμ μν¨
- invalid : μ΄μ λλ PR μμ²μ΄ λμ΄μ κ΄λ ¨μ΄ μμ
- question : μ΄μ λλ ν μμ²μ μΆκ° μ λ³΄κ° νμν¨
- wontfix : λ¬Έμ λ PR μμ²μμ μμ μ΄ κ³μλμ§ μμ
* PR = Pull Request : λ΄κ° μμ ν μ½λκ° μμΌλ λ΄ branchλ₯Ό κ°μ Έκ° κ²ν ν λ³ν©ν΄λ¬λΌ μμ²νλ κ²
- μ΄μ λ²νΈ : #μ«μ νν. μμ ν λ issue λ²νΈλ₯Ό μ λ³΄λ‘ μ¬μ©νκ² λλ€. repo κΈ°μ€μΌλ‘ 1λΆν° μμ±λλ€.
- Close Issue : μ΄μλ₯Ό μ’ λ£νλ€. λμ΄μ μ΄μλ₯Ό λ¨κ²¨λ νμκ° μκ±°λ μμ μ΄ μλ£λμμ λ μ€μ. μ΄μκ° μ μ’ λ£λμλμ§λ₯Ό κΈ°λ‘νλ©΄ λμ€μ νλ‘μ νΈ κ΄λ¦¬ν λ λμ± νΈλ¦¬ν¨
- Reopen Issue : μ΄μ μ’ λ£ ν, νμν λ λ€μ μ΄μ μ΄μ΄μ£ΌκΈ° κ°λ₯
Branch
νΉμ commitμμ λλκ°μ§μ²λΌ κ°λΌμ Έλμ μμ νλ κ². λ³΄ν΅ κΈ°λ₯λ³λ‘ λΈλμΉ μ΄λ¦μ λ§λ€μ΄ μμ ν¨
- checkout : νμ¬ μμ νλ λΈλμΉλ₯Ό μ ννλ κ²
Branch μ΄λ¦ λΆμ΄κΈ°
λΈλμΉλͺ
μ κ·μΉμ κ°μ§κ³ μ μ΄λ¦ μ§μΌλ©΄ νλ‘μ νΈ κ΄λ¦¬κ° μ¬μμ§
- feature/μ΄μλ²νΈ_κ΄λ¦¬ μ¬μ΄ μ΄λ¦
- feature : κΈ°λ₯ κ°λ°νλ λΈλμΉμ κ΄νμ μΌλ‘ λΆμ¬μ£Όλ μ΄λ¦
Branch μ©μ΄ μμ보기
- origin/main : origin(μ°κ²°λ μ격 repo)μ main λΈλμΉ
- origin/HEAD : νμ¬ μμ μ€μΈ commitμ κ°λ¦¬ν΄. μ¦, origin(μ°κ²°λ μ격 repo)μ μ΅μ commit
- main : λ‘컬 repoμ main λΈλμΉ
Merge
λ³ν©. λΈλμΉλ₯Ό λ€λ₯Έ λΈλμΉμ ν©μΉλ κ²
- μ¦, νΉμ λΈλμΉμ commitλ€μ λ€λ₯Έ λΈλμΉμ commit λ΄μμ λͺ¨λ λ°μνλ κ²
- μ€μ νλ‘μ νΈμμλ μμ λ΄μμ λͺ¨λ mergeν λΈλμΉλ₯Ό μ ν΄λκ³ μμ ν¨
- μμ μ΄ μλ£λμ΄ mergeν ν, μμ νλ λΈλμΉλ λ³΄ν΅ μμ ν΄μ€λ€ → λμ€μ λΈλμΉ μ€μ μ΄ κΌ¬μ΄λ κ² λ°©μ§!
Flow
νλ¦. commitνκ³ μμ νλ λ°©λ²
- Github-Flow : μΉ νλ‘μ νΈ κ°λ°μμ λ§μ΄ μ¬μ©ν¨
- GitLab-Flow
- Git-Flow
Merge Conflict
Merge(λ³ν©)ν λ λ°μνλ μΆ©λ
Git : μΆ©λνλ λ΄μ© μ€ μ΄λ λ΄μ©μ λ°μν μ§ λ¬»λ λ©μμ§λ₯Ό μ£Όλ κΈ°λ₯μ΄ μμ
- νλμ νμΌμ μ¬λ¬ κ΅°λ°μμ λ³κ²½νλ €κ³ νλ©΄, μ¬λ¬ λ³κ²½ λ΄μ© μ€ μ΄λ€ κ²μ λΈλμΉμ λ°μν μ§ νμ νκΈ° μν΄ μ 보λ₯Ό μ 곡νλ€.
<<<<<<< HEAD
{νμ¬ λΈλμΉμ λ€λ₯Έ νμΌ λ΄μ©}
=======
{μΆ©λλλ λΈλμΉλͺ
λλ commitμμμ λ€λ₯Έ νμΌ λ΄μ©}
>>>>>>> μΆ©λλλ λΈλμΉλͺ
λλ commmit μμ΄λ
- μΆ©λμ΄ λλ λΆλΆ : <<<<<<< μ¬κΈ° >>>>>>>
ν΄κ²° λ°©λ²
- λ΄κ° μνλ λλ‘ νμΌμ μμ νλ€.
- <<<<<<< HEAD , ======= , >>>>>>> μΆ©λλλ λΈλμΉλͺ λλ commit μμ΄λ λ₯Ό μ§μ΄λ€.
- κ·Έ ν μ΄λ κ² μμ λ νμΌμ λ€μ commit νλ€.
'Studynote > Git, Github' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Git μ λ¬Έ] Gitμ κΈ°μ΄ κ°λ -1 (0) | 2022.08.02 |
---|---|
[Git] κΉ λΈλμΉ μ΄ν΄νκΈ° - 1. Git μ£Όμ λͺ λ Ήμ΄ (0) | 2022.04.15 |
[Github] Github Desktopμ νμ©νμ¬ Github λΈλ‘κ·Έ κΈμ°κΈ° - 3 (0) | 2022.03.08 |
[Github] Github Desktopμ νμ©νμ¬ Github λΈλ‘κ·Έ κΈμ°κΈ° - 2 (0) | 2022.03.08 |
[Github] Github Desktopμ νμ©νμ¬ Github λΈλ‘κ·Έ κΈμ°κΈ° - 1 (0) | 2022.03.08 |