[Error] git push Error (non-fast-forward)

2022. 3. 11. 15:20ยท๊ธฐํƒ€/git

 

 

๐Ÿ”’ ๋ฌธ์ œ ์ƒํ™ฉ

 

 

git push๋ฅผ ํ•˜๋ ค๋‹ˆ (non-fast-forward) 
์—๋Ÿฌ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜์™”๋‹ค.
์•„๋ž˜์™€ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ดค๋‹ค๋ฉด ์ด ๊ธ€์„ ์ž˜ ์ฐพ์•„์™”๋‹ค.

"Push was rejected, and update failed with an error"

error: failed to push some refs to [git-repository-url]
hint: Updates were rejected because the tip of your current branch is behind

 

์ง์—ญํ•˜๋ฉด ํ˜„์žฌ ๋‹น์‹ ์˜ ๋ธŒ๋žœ์น˜ ์ผ๋ถ€๊ฐ€ origin ๋ธŒ๋žœ์น˜์˜ ๋’ค์— ์™€์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค.

์ƒ์„ธํ•˜๊ฒŒ ๋ถ„์„ํ•ด๋ณด๊ธฐ ์œ„ํ•ด sourcetree ๋ฅผ ์‚ดํŽด๋ดค๋‹ค.

 

ํ˜„์žฌ ๋กœ์ปฌ๋ธŒ๋žœ์น˜(develop)์™€ origin/develop ๊ฐ€ ๋‹ค๋ฅธ ๊ฐ€์ง€๋กœ ๋ถ„๊ธฐ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ’ก ์•„์ด๋””์–ด

ํ•ด๊ฒฐ ๋ฐฉ์•ˆ 1.  push --force โŒ

์ด์ „ ํฌ์ŠคํŠธ์—์„œ ๋ณธ ๊ฒƒ์ฒ˜๋Ÿผ ๊ทธ๋ƒฅ 

$ git push --force origin develop

๊ฐ•์ œ ํ‘ธ์‰ฌ๋กœ ์ด์ „ ๋กœ๊ทธ๋ฅผ ๋ฎ์–ด์จ๋ฒ„๋ฆด ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๋‹ค๋ฅธ ํŒ€์›๊ณผ ํ•จ๊ป˜ ์ž‘์—…ํ•  ๊ฒฝ์šฐ ์ด๋ฏธ `4d58421`์— ํ•ด๋‹นํ•˜๋Š” commit ์„ pull ํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์„ ๊ฒƒ์ด๋ฏ€๋กœ ์ข‹์ง€ ๋ชปํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

 

ํ•ด๊ฒฐ ๋ฐฉ์•ˆ 2. reset โœ…

์ด์ „ ๋กœ๊ทธ๋ฅผ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ Fast-forward ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

# 1. ๋น ์ ธ๋‚˜์˜จ ๋ถ„๊ธฐ ์ด์ „ ์ปค๋ฐ‹์œผ๋กœ ๋Œ์•„๊ฐ.
# ์—ฌ๊ธฐ์„œ๋Š” '626719e'
$ git reset --mixed [๋Œ์•„๊ฐˆ ์ปค๋ฐ‹ ํ•ด์‹œ]

# 2. ํ˜„์žฌ๊นŒ์ง€ ๋ณ€๊ฒฝ๋‚ด์šฉ ์ €์žฅ
$ git stash save -m "changed commit list"

# 3. ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋‚ด์šฉ ๋‹น๊ฒจ์˜ค๊ธฐ
# ์—ฌ๊ธฐ์„œ๋Š” develop
$ git pull origin [remote-branch-name]

 

ํ˜„์žฌ ์›๊ฒฉ repository ์™€ ๋กœ์ปฌ repository ์˜ HEAD๊ฐ€ ๊ฐ™์•„์กŒ๋‹ค.

 

# 4. ์ž„์‹œ ์ €์žฅํ–ˆ๋˜ ๋ณ€๊ฒฝ ๋กœ๊ทธ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
$ git stash pop

 

๋ณ€๊ฒฝ ๋กœ๊ทธ์ค‘ README.md ํŒŒ์ผ์— ๋Œ€ํ•œ CONFLICT ๋ฐœ์ƒ

Merge Conflict ๊ฐ€ ๋ฐœ์ƒํ•œ README.md ๋‚ด์šฉ์„ ์›๋ž˜ a411de2 ์—์„œ ์ˆ˜์ •ํ•œ๋Œ€๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

 

 

# 5. ์ด์ „ ๋ณ€๊ฒฝ๋‚ด์šฉ ํ•˜๋‚˜์”ฉ ํ•˜๋‚˜์”ฉ ์ปค๋ฐ‹ (์ด๋ฏธ commit ํ–ˆ๋˜ ๋‚ด์šฉ) 
$ git commit -m [commit-message]

# 6. ํ‘ธ์‹œ
$ git push -u origin [remote-branch-name]

 

 

๊น”๋”ํ•˜๊ฒŒ ๋ณ‘ํ•ฉํ•œ ํ›„ Fast-forward ์„ฑ๊ณต.

 

sourcetree๊ฐ€ ๋ธŒ๋žœ์น˜์™€ ์ปค๋ฐ‹ ๋กœ๊ทธ๋ฅผ ์‹œ๊ฐํ™”ํ•ด์„œ ๋ณด์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ ์›์ธ๊ณผ ์‹ค๋งˆ๋ฆฌ๋ฅผ ์žก๊ธฐ ์ˆ˜์›”ํ•˜๋‹ค.

 

 

ํ•ด๊ฒฐ ๋ฐฉ์•ˆ 3. Merge

์ด๋Š” ๋”ฐ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ Merge Request (Pull Request) ๋กœ ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

ํ˜„์žฌ ๋ฌธ์ œ ์ƒํ™ฉ์—์„œ๋Š” ๋ธŒ๋žœ์น˜๊ฐ€ 1๊ฐœ๋ฏ€๋กœ ๊ตณ์ด ์ด ๋ฐฉ๋ฒ•์„ ์“ธ ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค.

 


๐Ÿ”— Reference

 

How to delete a commit in git, local and remote

It has happened to me more than once that I make a commit without verifying the changes I am committing. Time after that I review the commit and I notice that there is something in the commit that doesn’t belong there. In those times what I want to do is

ncona.com

 

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

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

[git] ์„œ๋กœ ๋‹ค๋ฅธ repository ํ•ฉ์น˜๊ธฐ  (0) 2022.03.14
[git] ์ด์ „ commit ๋กœ๊ทธ ๋ณ€๊ฒฝ  (0) 2022.03.12
[git] Rebase vs Merge request, Pull request  (0) 2021.12.28
[Git] config  (0) 2021.11.11
[Git] Security Vulnerabilities (๋ณด์•ˆ ๋ฌธ์ œ ํ•ด๊ฒฐ)  (0) 2021.05.12
'๊ธฐํƒ€/git' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [git] ์„œ๋กœ ๋‹ค๋ฅธ repository ํ•ฉ์น˜๊ธฐ
  • [git] ์ด์ „ commit ๋กœ๊ทธ ๋ณ€๊ฒฝ
  • [git] Rebase vs Merge request, Pull request
  • [Git] config
M_Falcon
M_Falcon
  • M_Falcon
    Falcon
    M_Falcon
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (429) N
      • 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 (64) N
        • Spring (13)
        • JPA (5)
        • Kotlin (13)
        • Java (23) N
        • Error (7)
      • ๊ธฐํƒ€ (68)
        • Kafka (3)
        • Kubernetes (3)
        • Docker (12)
        • git (19)
        • ์žก๋™์‚ฌ๋‹ˆ (26)
      • ์žฌํ…Œํฌ (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
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

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

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