CRA 후에 git clone은 왜 안되지?

김민성·2023년 6월 24일

trouble

react 예제를 실습하기 위해 npx create-react-app react_dev을 한 뒤 github에 연동하기위해 git clone을 실행하였다.

에러메시지 해석

react_dev라는 경로가 이미 존재하고 그 폴더가 비어있지 않은 것이 문제라는 뜻 같다.

git clone을 해보면 항상 repository이름과 같은 폴더가 만들어지는 경험을 했는데 그 폴더가 CRA로 존재하는 폴더와 이름이 같기때문에 만들어지지 않는 듯 하다.

shooting

당장 떠오르는 방법은
1. 현재 존재하는 CRA 폴더를 삭제하고
2. gitclone을 한 뒤
3. 그 폴더에 CRA를 설치하면 될 것 같다.

gitclone

내 생각에 이번 trouble의 원인은 gitclone을 목적에 맞게 사용하지 않았기 때문인듯 하다.

git-clone : Clone a repositoty into a new direcory

프로젝트를 하면서 gitclone을 했던 경험은 github에 공유된 작업물을 로컬에서 작업하기 위해 베껴오는(clone) 용도였다.

나는 먼저 작업물을 만들고 이미 형성되어있는 repository를 clone하려고 했으니 당연히 안 되었던 것이다.

만약 작업중인 폴더를 github에 올리고 싶다면??

1. git init

git-init : Create an empty Git repository or reinitialize an exisiting one

로컬 폴더에 빈 git repository 를 생성하고

2. git remote add origin [git repository 주소]

remote 에 origin이라는 이름으로 github repository를 추가한 뒤에

3. git push origin master

github에 master라는 이름의 브랜치에 push했다.

trouble again

github에는 main이라는 default branch가 있었는데 main과 관련없는 master라는 브랜치가 뚜둥하고 등장해버렸다.
수습하기위해 로컬에서 push한 master 브랜치를 main 브랜치에 pull request를 해보려했지만
commit history가 달라서 실행을 할 수 없었다.

문제는 commit history가 다른 master 브랜치의 등장이다!

shooting again

당장 떠오르는 방법은
1. 원격의 master 브랜치를 삭제하고
2. local에서 git push origin main으로 main브랜치에 푸시하는 방법이다.

commit history

git이 commit history가 다른 브랜치들의 병합을 기본적으로 막는 설정이 되어 있다는 것은
그만큼 commit history가 git에서 중요하다는 의미일 것이다.

commit history를 직역하면 commit들의 역사란 의미인데 commit이 무엇인가!?

이는 git에 관한 강좌나 자습서를 다시 읽어봐야겠다...

참고사이트

https://git-scm.com/docs/git-clone
https://git-scm.com/docs/git-init

profile
'WHY'를 묻고 reason을 공부하는 개발외ㅓ인

0개의 댓글