[git] Rebase vs Merge request, Pull request

2021. 12. 28. 17:44ยท๊ธฐํƒ€/git

 

๐ŸŽฏ Goals

  • Merge ์™€ Rebase ์˜ ์ฐจ์ด์ ์„ ์•ˆ๋‹ค.

 

๊ฒฐ๋ก 

์™ ๋งŒํ•˜๋ฉด merge ์จ๋ผ, commit ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โš ๏ธ Merge request ์ค‘์—์„œ๋„ 'squash' ๋Š” ๋‹จ ํ•˜๋‚˜์˜ Merge request (Pull Requset) ์ด๋ ฅ๋งŒ ๋‚จ๊ธฐ๊ณ  ๋‚˜๋จธ์ง€๋Š” ์‚ฌ๋ผ์ง€๊ฒŒํ•œ๋‹ค.

 

 

 

Merge & Pull Request

๋ณ„๋„์˜ ๋ณ‘ํ•ฉ ํžˆ์Šคํ† ๋ฆฌ ์ปค๋ฐ‹์„ ์ƒ์„ฑํ•œ๋‹ค.

๋ฆฌ๋ทฐ, ํ…Œ์ŠคํŠธ ๋“ฑ์„ ์ œ๊ณตํ•˜์—ฌ "์—ฌ๊ธฐ๊ฐ€ ์ด์–ด์ง€๋Š” ์ปค๋ฐ‹์ด์—์š”!" ๋ผ๋Š” ์ด๋ ฅ์„ ๋‚จ๊ธด๋‹ค.

 

 

Rebase

'์ด์–ด๋ถ™์ด๊ธฐ'

๋ณ„๋„์˜ ๋ณ‘ํ•ฉ ํžˆ์Šคํ† ๋ฆฌ ์ปค๋ฐ‹ ์—†์ด ๊ณง๋ฐ”๋กœ ๊น”๋”ํ•˜๊ฒŒ ์ด์–ด๋ถ™์ด๊ธฐ ํ•˜๋Š” ์šฉ๋„๋‹ค.

๋ฆฌ๋ทฐ, ํ…Œ์ŠคํŠธ ๋“ฑ์ด ํ•„์š”ํ•˜์ง€ ์•Š๊ฒŒ ์ผ๊ด€๋œ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Why to use

  • ๊นจ๋—ํ•œ ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ ์ •๋ฆฌ
    Merge ์ปค๋ฐ‹์ด ์ƒ์„ฑ๋˜์ง€ ์•Š๋Š”๋‹ค.

When to use

  • ๋‚˜ ํ˜ผ์ž ๊ด€๋ฆฌํ•˜๋Š” ๋ธŒ๋žœ์น˜์˜ ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์ •๋ ฌํ•  ๋•Œ
  • ๊ณผ๊ฑฐ ์—ฌ๋Ÿฌ commit ์„ ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๋Š” squash ์ž‘์—…
  • ๋‚ด๊ฐ€ ๋งŒ๋“  ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ํŠน์ • ๋ธŒ๋žœ์น˜ ๋’ค์— append (๋ง๋ถ™์ด๊ธฐ) ํ•  ๋•Œ

 

rebase ๋Š” ๊ณผ๊ฑฐ history ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์ž‘์—…์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ๊ณต์œ ๋œ ๋ธŒ๋žœ์น˜์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์œ„ํ—˜ํ•˜๋‹ค.
(๋ถˆ๊ฐ€๋Šฅ ํ•˜๋‹จ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.)

 

 

Pros & Cons

Pros

  • commit history ๊ฐ€ ํ•œ ์ค„๋กœ ๊น”๋”ํ•ด์ง„๋‹ค.

Cons

  • ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ๊ณต์œ ๋œ ๋ธŒ๋žœ์น˜์—” ์ ์šฉ์ด ์–ด๋ ต๋‹ค.
  • ์ผ๋ถ€ ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๊ฐ€ ์œ ์‹ค๋  ์ˆ˜ ์žˆ๋‹ค.
    (squash ๋“ฑ)

 

์˜ˆ์ œ ๋งํฌ

 

Feature/c2 merge into develop by milkcoke · Pull Request #7 · milkcoke/git-repo-practice

$ git rebase <origin/develop> It should be skipped automatically which not conflict commit messages. Conflict occurs? resolve it and git add . and git rebase --continue You will show next log. ...

github.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

๐Ÿ”— Reference 

 

Differences Between Git Merge and Rebaseโ€Š—โ€Šand Why You Should Care

A comparison of git merge and rebase commands and when to use them

betterprogramming.pub

 

 

๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” Git ์ž…๋ฌธ~๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์ด์šฉํ•ด๋ณด์ž~ | Backlog

๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋Š” Git์— ์ž…๋ฌธํ•˜์‹  ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. Git์„ ์‚ฌ์šฉํ•ด ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ๊ป˜ ๊ณต๋ถ€ํ•ด๋ด…์‹œ๋‹ค!

backlog.com

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๊ธฐํƒ€ > git' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[git] ์ด์ „ commit ๋กœ๊ทธ ๋ณ€๊ฒฝ  (0) 2022.03.12
[Error] git push Error (non-fast-forward)  (0) 2022.03.11
[Git] config  (0) 2021.11.11
[Git] Security Vulnerabilities (๋ณด์•ˆ ๋ฌธ์ œ ํ•ด๊ฒฐ)  (0) 2021.05.12
[Git] branch  (0) 2021.03.29
'๊ธฐํƒ€/git' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [git] ์ด์ „ commit ๋กœ๊ทธ ๋ณ€๊ฒฝ
  • [Error] git push Error (non-fast-forward)
  • [Git] config
  • [Git] Security Vulnerabilities (๋ณด์•ˆ ๋ฌธ์ œ ํ•ด๊ฒฐ)
M_Falcon
M_Falcon
  • M_Falcon
    Falcon
    M_Falcon
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (432)
      • Web (16)
        • Nodejs (14)
        • Javascript (23)
        • FrontEnd (4)
      • DataBase (39)
        • Fundamental (1)
        • Redis (4)
        • PostgreSQL (10)
        • NoSQL (4)
        • MySQL (9)
        • MSSQL (3)
        • Error (4)
      • Algorithm (79)
        • Algorithm (๋ฌธ์ œํ’€์ด) (56)
        • Algorithm (์ด๋ก ) (23)
      • JVM (65)
        • Spring (13)
        • JPA (5)
        • Kotlin (13)
        • Java (24)
        • Error (7)
      • ๊ธฐํƒ€ (70)
        • Kafka (3)
        • Kubernetes (3)
        • Docker (13)
        • git (19)
        • ์žก๋™์‚ฌ๋‹ˆ (27)
      • ์žฌํ…Œํฌ (11)
        • ์„ธ๋ฌด (4)
        • ํˆฌ์ž (3)
        • ๋ณดํ—˜ (0)
      • BlockChain (2)
        • BitCoin (0)
      • C (32)
        • C (10)
        • C++ (17)
        • Error (3)
      • Low Level (8)
        • OS (3)
        • ์‹œ์Šคํ…œ ๋ณด์•ˆ (5)
      • ๋„คํŠธ์›Œํฌ (3)
      • LINUX (30)
        • Linux (26)
        • Error (4)
      • ์ €์ž‘๊ถŒ๊ณผ ์Šค๋งˆํŠธํฐ์˜ ์ดํ•ด (0)
      • ์ƒ๊ฐ ๋ญ‰์น˜ (6)
      • ๊ถ๊ธˆ์ฆ (2)
      • Private (4)
        • ์ด์ง ๊ฒฝํ—˜ (0)
        • ๊ฟˆ์„ ์ฐพ์•„์„œ (1)
      • Android (21)
        • OS (4)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • WEB
    • ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • DataBase
    • Linux
    • Mobile
    • C
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • github
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    java
    C++
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    linux
    PostgreSQL
    Git
    Programmers
    javascript
    database
    Kotlin
    ๋ฐฑ์ค€
    Spring
    android
    ubuntu
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    algorithm
    kafka
    JPA
    docker
    Bitcoin
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
M_Falcon
[git] Rebase vs Merge request, Pull request
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”