[Timotae] 프로젝트 초기 세팅

gnoesnooj·2021년 12월 21일
0

Timotae

Timotae 는 스프링과 Git을 활용한 스터디 커뮤니티 게시판 프로젝트의 이름이다. 티끌 모아 태산! 에서 영감을 얻었다.

Issue

우선 첫 프로젝트의 시작으로 나는 다음과 같은 issue가 있었다.

1. 협업을 위한 Git Repository 'timotae' 생성
2. start.spring.io 에서 초기 프로젝트 세팅 generate
3. timotae git clone 후 PR로 commit 하기

아주 간단해보이지만, Git 초보자인 내게는 정말 많이 헤맨 issue 였다.

우리의 Git 브렌치 전략은 Github branch 전략을 사용했기 때문에, 모든 것을 PR을 통해서 merge 하기로 했고, 이를 위해 처음 세팅부터 PR을 통해 merge 하도록 목표를 했다.

시도

내가 생각한 issue 처리 단계는 다음과 같다.

1. 스프링 스타터에서 timotae 프로젝트 generate
2. 생성된 timotae를 압축 해제 후 바탕화면으로 이동
3. Git Bash를 바탕화면의 timotae 폴더로 이동
4. GitHub의 협업 Repository timotae 생성 후 주소 복사 (해당 Repository의 admin 이기 때문에 Write 권한이 있다.)
5. git bash 에서 git clone --주소--
6. New branch -> git checkout -b chore/setting
7. git add . (!!!! 여기서 adding embedded git repository... 발생)
8. git commit -m "Initial Setting"
9. git push origin setting
10. PR 후 merge

이 간단한 작업을 하는데만 족히 5-6시간은 걸린 듯 하다.

내가 만난 문제들은 상당히 많았다.

1. fork 할 필요가 없었는데 fork 후 PR을 시도한 점

-> 나는 협업 Repository에 대해 admin 권한을 갖고 있기 때문에 fork 를 해서 시도할 필요가 없었다. fork를 통한 PR은 write 권한이 없을 때에 필요한 단계이다.

2. git add . 후 adding embedded git repository 문제


가장 큰 문제 였다. 내가 했던 시도7에 해당하는 문제인데, 찾아보니 git init 또는 clone 을 했을 때 생기는 .git 이 2개 이상일 때의 문제였다. 즉 해당 폴더를 로컬 저장소로 사용하기 위해 .git이 생기는데, 이 때 git add . 한 파일들 속에 .git 이 또 있기 때문에 생기는 문제였다.

나의 실수는 시도3 이었다. 우선 git clone 을 하면 해당 Repository의 이름을 갖는 폴더가 생성된다. 나의 경우는 timotae (AS timotae1) 이다.
또한 첫 Start Spring 을 통해 generate 후, 압축해제한 폴더의 이름도 timotae (AS timotae2) 이다.
여기서 나는 timotae2를 commit 해야 하므로 timotae2폴더 에서 timotae1 을 git clone후 진행해야 한다 생각했고, 거기서 git add를 해서 문제가 발생했다.
사실 이렇게만 했다면 git add를 했을 때 실행되지 않는다. 이유는 해당 timotae2 폴더 안에 timotae1이 만들어지고, .git은 timotae1 폴더 안에 있기 때문이다. 하지만 앞선 단계에서 삽질을 해보던 중 나는 Desktop , User , Users ... 등등 온갖 곳곳에서 git clone, git init 을 해댔기 때문에 여기저기 .git 파일이 난무했다.
존재하는 모든 .git을 삭제하고, 제대로 timotae1 폴더에서 git clone 후, timotae2 의 파일들을 끌어다 놓고 8~9 단계를 진행하니 정상적으로 되었다.

3. ID/PW ???

추가로 9단계를 하니 id pw를 입력하라는 요구를 받았다. Git Crendential Manager 와 연동? 을 요구로 하는 페이지로 이동되었는데, 계속 authorize git credential manager 버튼이 비활성화 되어있었다. 그래서 그냥 git의 Token 발행을 통해서 문제를 해결했다.

본인 Git profile -> Setting -> Developer Settings -> Personal access tokens 에서 발행 후 사용하면 된다.

느낀 점

정말 간단한 거라고 생각하지만 너무나 어려웠다. 다시 보니 당연한 건데 왜 이런 삽질을 했을까 라는 생각도 든다. 앞으로 얼마나 많은 삽질을 해야할 지 막막하기도 하고 한편으론 두렵기도 하지만 , 이왕 해야할 삽질 얼른 해야겠다. 열심히 !

profile
누구나 믿을 수 있는 개발자가 되자 !

0개의 댓글