노래하듯 이야기하고, 춤추듯 정복하라.

[Git Of Hell] Git Bash - 원격 저장소로 Push하기 본문

프로그래밍

[Git Of Hell] Git Bash - 원격 저장소로 Push하기

hyeoke 2018. 2. 12. 22:10

# 서두

안녕하세요 모닝버드입니다. 정말 오랜만에 포스팅을 합니다. 포스팅을 오랫동안 못했던 핑계를 나열하자면.. 1월중순~2월초 약 한달간 인도-네팔 여행을 다녀왔습니다. 여행 전후로 준비기간, 휴식기 등이 겹치면서 장시간 활동을 할 수 없었답니다!


시차가 약 3시간 정도 나는데 짧은 타임이라 생각했지만 은근 몸에서 반응이 오더군요. 미국이나 유럽처럼 12시간 씩 차이를 경험하게 되면 어떤 느낌일지 참 궁금해 집니다.


# Git Of Hell

node.js를 공부하면서 새로운 Study 프로젝트를 하나 시작하려하는데요. 그 전에 기초적인 git 사용법을 공부한 후에 git repository에 pull & push 하면서 프로젝트를 진행 해 보려합니다.


저의 github 계정에 첫 repository를 생성하고, 로컬에도 .gitignore 파일이 포함 된 프로젝트 폴더를 만들었습니다. 그리고 로컬 저장소에 있는 프로젝트 폴더를 원격 저장소(github repository)로 push를 하던 중 오류들이 연속적으로 터졌습니다.


우선


1. git init -> 로컬 프로젝트 폴더로 이동 후 git의 명령어를 사용하기 위한 초기화 작업(git을 사용하겠다고 알림)


2. git add * -> 로컬 프로젝트 폴더 안에 있는 모든 파일을 관리 대상으로 지정함(파일 목록을 git의 index에 추가하는 것)


3. git commit -m 'blablabla~' -> 첫 커밋 실행: git의 index에 변경된or수정된 파일들을 head에 전달하여 확정함.(버전 업)


4. git remote add origin(원격저장소 remote 이름) repository_url -> 원격저장소 remote를 생성하고 나의 원격저장소(github에서 생성한 repository)를 연동함.


여기까지는 진행 된 상태였습니다. 그런데,


git push origin master 


을 입력하자 아래 사진과 같은 오류가 발생했는데요. 한 20분정도 구글링과 삽질을 해보니 원인을 찾을 수 있었습니다. 



바로 아래 사진과 같이 github에서 repository를 생성할 때 README 파일을 자동으로 생성되도록 체크를 했던 것이 원인이였습니다.



#문제 해결하기


git bash에 나온 hint를 보면 'git pull' before pushing again 부분을 볼 수 있는데요. 아마도 원격저장소를 생성할 때 자동으로 생성된 readme 파일 때문에 로컬저장소의 master 브랜치와 원격저장소의 master 브랜치를 merge(합병)시키지 못하는 것 같았습니다.


git pull origin master --allow-unrelated-histories


위 명령어를 통해 원격저장소의 master 브랜치를 pull(댕겨) 옵니다. --allow-unrelated-histories를 붙이는 이유는 관련되지 않는 history들이 있더라도 그냥 pull 해오기 위함입니다. (필자의 경우 저 부분을 생략하니 또 오류가 뜨더군요!)


다음


git push origin master 명령어를 실행하니 



짜쟌! 잘 실행이 됩니다.



원격저장소에도 잘 push가 된 것을 볼 수 있습니다


그럼 오늘의 포스팅은 여기서 마치겠습니다~ 

'프로그래밍' 카테고리의 다른 글

http 프로토콜 공부하기  (0) 2017.09.26
웹프로그래밍 입문  (0) 2017.09.25
군대에서 코딩하기  (0) 2017.09.25
Comments