본문 바로가기
목차
이클립스

[Eclipse] Github - rejected-non-fast-forward 오류//fatal: You are not currently on a branch.

by 지각생 2022. 2. 24.
728x90

 

 

[Eclipse] Github - rejected-non-fast-forward 오류

1.Git Repositories에서 프로젝트를 선택 한 후 Remotes > origin -> 오류가 발생하는 저장소 우클릭 -> Configure Fetch... 또는 Configure Push... 클릭 2.Advanced 클릭 3.Specifications for fetch에 추가된..

tychejin.tistory.com

 

rejected-non-fast-forward 

이런 현상이 나오지만

위에 글처럼 해서는 해결이 안된다.

 

관련 좋은 글 또 하나 링크

https://parksb.github.io/article/28.html

 

Git 사용 중 자주 만나는 이슈 정리: 코딩보다 어려운 버전 관리

깃으로 버전 관리를 하다보면 각종 이슈가 자주 발목을 잡는다. 특히 복잡한 프로젝트의 경우 그 정도가 심한데… 입사 이후 '지금까지 내가 한 건 깃이 아니구나’를 깨닫고 더 공부해 보기로

parksb.github.io

 

 

 

 

터미널에서 

Son@Son-PC MINGW64 ~
$ git status
fatal: not a git repository (or any of the parent directories): .git

로컬 주소가 아니란다. 그래서

Son@Son-PC MINGW64 ~/Desktop/IT공부/web-1/web1 (main)                           
$ cd C:/Users/Son/Desktop/IT공부/web-1/web1/14_MyBlog

주소 찾아주고

Son@Son-PC MINGW64 ~/Desktop/IT공부/web-1/web1/14_MyBlog ((cea36d7...))         
$ git status
Refresh index: 100% (1804/1804), done.
HEAD detached from 2fe9ec8
nothing to commit, working tree clean

 

Son@Son-PC MINGW64 ~/Desktop/IT공부/web-1/web1/14_MyBlog ((cea36d7...))         
$ git push
fatal: You are not currently on a branch.
To push the history leading to the current (detached HEAD)
state now, use

    git push origin HEAD:<name-of-remote-branch>

 

 

이런 내용이 나오는데 관련글은 있는데 봐도 git초보라 잘 모르겠다.

어렴풋이 저번에 reset하다가 브랜치가 어케된거 같다는 추측뿐..

 

https://okky.kr/article/437352

 

OKKY | Git 사용 중

GIT을 공부 중입니다. 그냥 이것저것 해보려고 하는데 여러가지로 모르겠네요. 1. 이런 식으로 여러번 add - commit - push를 실행했습니다. 2. Local Repository에서 git commit e7e69f6 명령어를 실행하여 2번째

okky.kr

 


지금까지 브랜치를 만들고, Merge 하고, 삭제하는 방법에 대해서 살펴봤다. 브랜치를 관리하는 데 필요한 다른 명령도 살펴보자.

git branch 명령은 단순히 브랜치를 만들고 삭제하는 것이 아니다. 아무런 옵션 없이 실행하면 브랜치의 목록을 보여준다.

$ git branch
  iss53
* master
  testing

* 기호가 붙어 있는 master 브랜치는 현재 Checkout 해서 작업하는 브랜치를 나타낸다. 즉, 지금 수정한 내용을 커밋하면 master 브랜치에 커밋되고 포인터가 앞으로 한 단계 나아간다. git branch -v 명령을 실행하면 브랜치마다 마지막 커밋 메시지도 함께 보여준다.

$ git branch -v
  iss53   93b412c fix javascript issue
* master  7a98805 Merge branch 'iss53'
  testing 782fd34 add scott to the author list in the readmes

각 브랜치가 지금 어떤 상태인지 확인하기에 좋은 옵션도 있다. 현재 Checkout 한 브랜치를 기준으로 --merged  --no-merged 옵션을 사용하여 Merge 된 브랜치인지 그렇지 않은지 필터링해 볼 수 있다. git branch --merged 명령으로 이미 Merge 한 브랜치 목록을 확인한다.

$ git branch --merged
  iss53
* master

iss53 브랜치는 앞에서 이미 Merge 했기 때문에 목록에 나타난다. * 기호가 붙어 있지 않은 브랜치는 git branch -d 명령으로 삭제해도 되는 브랜치다. 이미 다른 브랜치와 Merge 했기 때문에 삭제해도 정보를 잃지 않는다.

 

반대로 현재 Checkout 한 브랜치에 Merge 하지 않은 브랜치를 살펴보려면 git branch --no-merged 명령을 사용한다.

$ git branch --no-merged
  testing

위에는 없었던 다른 브랜치가 보인다. 아직 Merge 하지 않은 커밋을 담고 있기 때문에 git branch -d 명령으로 삭제되지 않는다.

$ git branch -d testing
error: The branch 'testing' is not fully merged.
If you are sure you want to delete it, run 'git branch -D testing'.

 


해결

Son@Son-PC MINGW64 ~/Desktop/IT공부/web-1/web1/14_MyBlog ((cea36d7...))                   
$ git branch new

Son@Son-PC MINGW64 ~/Desktop/IT공부/web-1/web1/14_MyBlog ((cea36d7...))                   
$ git switch new
Switched to branch 'new'
M       MyBlog/src/main/java/com/MyBlog/Controller/BoardController.java
M       MyBlog/src/main/resources/static/js/board.js
M       MyBlog/src/main/resources/static/js/channel.js
M       MyBlog/src/main/resources/static/js/header.js
M       MyBlog/src/main/webapp/WEB-INF/view/root/header.jsp
M       MyBlog/src/main/webapp/WEB-INF/view/root/leftDisplay.jsp

Son@Son-PC MINGW64 ~/Desktop/IT공부/web-1/web1/14_MyBlog (new)                            
$ git branch
  main
* new

 

 

일단 이렇게 새브런치 생성해서 commit push하여 해결

728x90

댓글