필자는 금요일에 깃 테스트를 보면서 뭐 별거 있겟나 싶었다. 하지만, 깃 테스트를 통해 내가 얼마나 깃에 대해 무지했는 지 다시 한 번 느낄 수 있었다.
다음 내용은 내가 깃 테스트를 보면서 마주한 에러와 그에 대한 해결책 위주로 담았다. 이로 인해 느낀 바와 더불어 깃의 간단한 사용법 정도로 마무리 하고자 한다.
대개 나는 깃이라고 해봤자,
git add .
git commit -m "~~~"
git push origin 브랜치 명
정도겠지라는 간단한 생각을 했다. 하지만, 그것이 아니었다.
테스트 및 과제 내용은 다음과 같았다. 개인 레포지 토리를 만들어서 처음부터 끝까지 하는 것이었다. "그래 올 것이 왔구나. 그러나 어쩌겠나! 해야지!" 이 생각에 하나씩 과정을 밟아갔다.
자신의 github에 wecode
라는 repository를 만든다.
-> 뭐 여기까지는 깃허브에서 만드는 것이니 별로 어렵지 않았다.
💁♂️ README.md
파일은 아래 Task에서 만들 예정이어서 아래와 같이 체크 해제해주세요!
내 컴퓨터에서 Desktop > test
폴더 밑에 wecode
라는 폴더를 만든다.
이것 역시 터미널에서 간단하게 후딱 만들었다.
3. `wecode` 폴더에서 git을 사용할 수 있도록 초기화 한다.
-> 여기서 git init이라는 코드를 터미널에 치면 초기화가 된다.
wecode
폴더 하위에 1부터 50의 자연수 중 짝수를 구하는 함수
가 있는 파일을 생성한다.test.js
return
해주세요.
add
, commit
후 생성한 repository로 push
해주시기 바랍니다.. github 레파지토리에서 볼 수 있도록 올린다. (main이 기본 branch)
이 메인 혹은 마스터 개인 레퍼지 토리에 올려줘야 한다. 그러기 위해서는 해당 레퍼지 토리를 내 현재 폴더와 깃 허브를 연동시켜줘야 한다.
git add .
git commit -m "Add: test.js"
git branch -M main
git remote add origin https://github.com/minchodang/wecode.git 이 부분은 위의 코드를 누르면 클론하게금 복제 주소가 나오니 그걸 붙이면 된다.
git push -u origin main
-> 이런 식으로 하면 끝이다. 사실상 어려운 건 전혀 없다. 필자 역시 여기까지는 무난하게 했다. 문제는 그 다음부터 생기는데...
feature/README
브랜치를 생성하고, 해당 브랜치에서 아래의 내용으로 README.md 를 만든다.git branch 브랜치명
생성한 브랜치로 진입
git checkout 브랜치명
README.md 파일 생성
vi 파일명
파일 작성 후, esc 누르고 :wq(저장)쓰고 엔터치고 나온다.
-> 이렇게 쉬운 일련의 과정이다. 그런데 뭐가 문제인가?
바로 바로 브랜치 명을 내 맘대로 내 이름으로 해 버린것...
이게 사실 나중에 알고보니, 나만 그런 것이 아니었다 ㅋㅋㅋㅋ
그래서 부랴 부랴 다시 폴더 명을 터미널로 바꾸고, 다시 하면 되겠지 하고 시작했다.
그런데 폴더명 바꾸는 게 아니라 브랜치 명 바꾸는 것이었다. 그래서 새로 만들었는데... 이런 에러가 계속 나더라..ㅜㅜ
그래서 여기서부터 엄청 얼을 탔다. 황급히 은비님께 이 부분에 대해 문의를 하니....
내가 무슨 잘못을 했는 지 점점 알게 되었다. 결론적으로 각설하면, 내가 브렌치를 엄청나게 만들어 댄 것이다. 즉, 하나의 레포지 토리 안에 메인 혹은 마스터 그 안에 개인 브랜치를 연결시키는 것인데... 필자는 그 메인 안에 브랜치의 브랜치를 만들어 버린 것....
그러니까 나는 결국 저 브랜치가 없는 줄 알고 계속 만들어 재낀 것... 계속 브랜치 있다고 나온 것이다.
그래서 브랜치를 삭제하고 난리를 쳤다. 그럼에도 불구하고 문제는 잘 해결되지 않았다. 뭐가 문제일까? 곰곰이 다시 생각해 봤다. 은비님도 줌으로 계속 이렇게 저렇게 해보라고 하셨지만, 처음에는 큰 도움을 받았지만, 결국 내 문제이기에 내가 해결하는 것이 맞았다. 그런데 애초에 잘못된 시작을 한 것이라고 생각했다. 브랜치의 이중 중첩과 그 안에서 계속 잘못된 꼬인 add, commit, push. 실제 깃 허브 레포지토리로 가보니, 개판 오분 전이었다...
그래서 결국 나는 과감히 해당 레포지토리를 삭제하기로 했다. 그리고 처음부터 다시 시작했다. 천천히. 그리고 머릿 속에서 깃의 구조를 생각하면서....
- 오늘 시험에서 사용했던 git 명령어 최소 3개 이상 정리
- `markdown syntax`를 적절히 사용해주세요.
-> 이 마크다운 신텍스가 뭔지 몰라서 은비님께 여쭤보니 이런 것도 있었다.
https://markdownlivepreview.com/
해당 사이트에서 직관적으로 어떻게 마크다운 신텍스를 이용하는 것인지 알았고, 적용할 수도 있었다.
그렇게 처음부터 브랜치를 제대로 만들고 커밋과 푸쉬를 제대로 하니 잘 되었다.
2. `feature/README` 브랜치에 올린다.
git add .
git commit -m "Add : README.md"
git push origin 브랜치명 (여기서는 feature/readme)
feature/README
→ main
브랜치로 pull request를 날린다.구글 클래스룸
에 제출너무 성급하게 하려 하다보니 중첩 브랜치 발생
그 안에서 중첩 파일 형성.
그로 인해 메인에 푸쉬할 것이 계속 꼬이면서 오류.
조급함이 결국 화를 부른다는 것을 알게된 케이스였다.
아래는 깃 사용시 주요 명령어 정리해 둔 블로그다. 참고해 보시기 바란다.
https://velog.io/@delilah/GitHub-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%A8%EC%9D%8C