앞 게시물에 이어서, 실습한 내용을 push하고자
push할 파일을 add / commit 후, push를 하기 위해 적어주었는데
거절당했다..!!
검색을 해보니
git의 원격 레파지토리에서 clone해서 나의 local 레파지토리에서 수정한 파일을
다시 내 git의 원격 레파지토리로 push하기 위해서는
수정한 파일의 내용을 제외한 그 둘의 구성(Ex. 파일들의 개수, 이름 등)이 같아야한다.
예를 들어, git의 레파지토리에 src / gradle / .idea 이 세개의 파일이 있다고 할 때,
push하려는 그 clone으로 가져온 내 local에 있는 파일도 저 세개의 파일이 있어야함
( 개수나 이름이 바뀔 경우 둘이 같지 않아 push가 불가능 )
위의 에러를 잘 읽어보면,
your branch is behind. 라고 한다
즉, 로컬에 없는 원격 분기에 변경 사항이 있음을 의미한다.
원격 저장소의 최종 commit을 따라가지 못한 현재의 branch가 문제인 상황이다.
따라서 이를 해결하려면 내 local과 git 의 두 레파지토리를 pull을 이용해 merge 해줘야 한다!
그러나 아래와 같이 pull을 해줬지만 달라지는 것은 없었다..
git pull
그래서 더 찾아보다가
아래의 명령어를 사용하여 최종 commit한 장소 까지 끌어올렸다!
$ git pull --rebase origin branch명
이렇게 하고 push까지 해보니 정상적으로 실행되었다 !!
( 과정은 캡쳐를 못해 사진이 없다 ㅠ)
[참고] https://pythontoomuchinformation.tistory.com/459
[참고] https://codewithhugo.com/fix-git-failed-to-push-updates-were-rejected/