책/[개발]만 골라보기

팀 개발을 위한 Git GitHub 시작하기 / 박미정의 깃 & 깃허브 입문

Koesob 2022. 1. 13. 22:36

Git과 GitHub는 학과 수업을 듣다 보면, 특히 팀플을 하다 보면 자연스럽게 쓰게 되는 것 같은데 그에 비해 저는 둘 다 익숙하질 않았다.

 

Conflict 나면 서로 눈치 보다가 ‘새로 팔까…?’ 하는 일이 비일비재 했던 것 보면 사실 팀원도 비슷한 상황인 것 같고…

 

이렇게는 안 되겠다 싶어서 이번 방학에 책 찾아서 공부를 함.

 

그때 읽었던 책 리뷰이다. 한 편으론 이곳 저곳에 글을 올리느라고 톤이 다르다.

엄밀하게는 학과 홈페이지 아고라에 정보 공유로 먼저 올리려고 했는데 이번에 소융대 커뮤니티에서 글 쓰면 뭐 주는 이벤트에 눈돌아가서 거기에 제일 먼저 올렸다. 아고라에는 두 번째. 그리고 기왕 열심히 글 쓴 김에 '책'이라는 카테고리로 포트폴리오 한 켠에 써먹을 수 있지 않을까 싶어 블로그에도 올린다.

 

-

 

우선, 경희대학생이면 경희대 중앙도서관을 통해서 교보문고 전자도서관 구독이 가능합니다! 이번에 읽은 책들 모두 해당 서비스를 통해 다운받아 본 책이에요. 저도 여기서 DB 책 빌려서 이번 학기 DB 좀 꿀 빨았습니다.

https://drive.google.com/file/d/1S26QwNwzo6x3AO9AAWzrSDYDAA5ZJHuq/view

링크의 이용 안내를 참고하시면 됩니다.

 

-

1. 팀 개발을 위한 Git GitHub 시작하기

처음은 SourceTree를 활용하기 때문에 CLI, 그 까만 창에 거리감을 느낀다면 추천하는 책입니다.

어느 정도 Git 사용법을 익히고 난 이후에는 Git Bash를 활용하여 진행되기 때문에 그래도 그 까만 창과 안면이라도 튼다는 점도 좋았습니다.

 

또한 Git 내부 동작 원리, 즉 Git이 어떻게 구현되어 동작하는가에 대한 설명도 있어서 읽고나면 .git 폴더를 마음대로 삭제할 수 있게 됩니다. Git 다루는 데에 좀 더 편해진다는 의미입니다.

 

2. 박미정의 깃 & 깃허브 입문

첫 번째 책과 다르게 Visual Studio Code가 제공하는 터미널로 진행됩니다. 그리고 나아가(?) Git Bash를 쓰고 Git Bash의 기본 에디터를 vim으로 설정한 경우, vim 나가는 법도 배우게 됩니다. 그것만 배워요. 저도 :wq 치는 게 재밌어서 일부러 기본 에디터를 vim으로 했음

즉, 까만 창에 좀 더 내적 친밀감을 쌓고 싶다, 까만 창에 코드 치는 개발자에 …이라면 추천합니다.

저도 그런 CLI에 익숙해지고 싶었고, 첫 번째 책을 다 읽고 나니, 깃 쓸 일이 없더라고요. 그래서 더 연습할 겸 읽은 책입니다.

 

첫 번째 책 이후 이 책까지 읽고 나서는 혼자 개발할 때 버전 관리용으로 깃 사용에는 별다른 문제는 없게 됐습니다. 이제 더 이상 Conflict을 두려워하지 않…진 않고 그래도 SourceTree 없이도 그림을 그릴 수 있게 된 것은 성과라면 성과

 

그리고 첫 번째 책과는 다르게 자동화하는 깃허브의 액션도 접할 수 있습니다.

그렇게 깊지는 않고 안면은 튼 느낌으로… 내적 친밀감을 더 쌓으려면 마찬가지로 추가적인 책을 찾아봐야겠죠.

 

자동화가 뭐냐면, 예를 들어, Github로 웹페이지를 만들 때, 특정 구현의 경우 글을 쓰는 저장소가 따로 있고, 웹 페이지로 보이는 저장소가 따로 있습니다. 그래서 글을 쓰고 푸쉬(1)를 한 후, 웹 페이지 저장소로 다시 푸쉬(2)하는 일련의 연결 과정이 필요한데 이걸 1만 하면 2번까지 자동으로 이뤄지게 할 수 있습니다. 이건 그냥 제가 겪은 짧은 예시이고 깊게 파 보면 더 깊은 내용으로 이어지는 것 같습니다. 저도 아직 일방적으로 얼굴만 아는 그런 사이라…

 

3. Pro Git

직접 읽어보진 않았지만, 깃 배우는 책을 찾아보면 정말 많이 나오는 책이라서 적어둡니다.

Git에서 공식적으로 추천하는 책이고 무료로 PDF도 다운받아 보실 수 있습니다.

https://git-scm.com/book/ko/v2

일단 두 번째 책 읽고 난 후에는 깃, 깃허브 사용에 별다른 이슈가 없어서 다운만 받아뒀는데 필요에 따라선 저도 읽으려고 합니다.

 

-

 

번외로, .gitignore 파일 만들 때 사용하는 사이트 추천해 드립니다.

http://www.gitignore.io/

현재 프로젝트 유형을 입력하면 .gitignore 파일을 생성해줍니다.

 

저는 보통 게임 개발을 하다 보니 게임 엔진이 그때그때 이것저것을 정말 많이 생성해줍니다. 문제는 이렇게 생성된 파일들은 제 컴퓨터를 벗어나면 사실 쓸모가 없어져요. 그래서 이 상태로 그대로 깃 만들면 서로가 서로에게 뭣 던져주는 상황이 되는데… 겪어봤는데 그 팀플 시작부터 하기 싫어짐.

깃허브에서도 처음 저장소 만들 때 프로젝트 유형을 입력하면 해당 유형에 따라 .gitignore 파일을 만들어주긴 하지만 이 사이트가 좀 더 커버하는 범위가 넓습니다. 깃허브는 Unreal 이게 없더라. Unity는 있는데

 

-

 

저번 2021년도 2학기를 하면서 느꼈던 것은,

새로운 내용, 모르는 내용이 나왔다고 무작정 구글링하고 유튜브를 보는 것은 효율이 좋지 않다는 것이다.

구글링의 결과와 유튜브의 영상은 내 환경을 하나하나 신경 써줄만큼 친절하지 않다.

언리얼이 그랬다.

처음에 게임 공학으로 언리얼을 배울 때, 현재 닥친 문제 해결하려고 일단 구글링이랑 유튜브를 봤다.

정보의 바다라는 말답게 튜토리얼, 가이드, 뭐 기타 등등 정보는 많지

문제는 그 정보가 파편화 돼있거나 튜토리얼을 따라가는 중에 영상이 더 이상 올라오지 않았거나, 설명을 그냥 스킵해버린다는 것...

액터가 뭐고, 폰이 뭐고, 캐릭터가 뭐고... 외우고 외우고 외워봐야 그냥 파편화된채 머릿속을 둥둥 떠다니기만 했다.

게임 공학은 다른 팀원들의 캐리와 시험 점수의 힘만으로 성적을 받았다. 좌절 1 스택이었음

그렇게 이번 겜콘 캡스톤 디자인을 듣는데 또 똑같은 상황이 반복됐다.

매 주 점검 발표가 있는데 매 번 뭔가 해보려고 하면 막막... 좌절 스택 222222

둥둥 떠다니는 저 액터랑 폰들은 어떻게 시작하고 어떻게 만들어가야하는지, 다음을 향한 포인터가 없었다.

그러다 우연찮게 도서관에서 언리얼 책을 빌리게 됐다.

그리고 그냥 읽어내려가는데 그 편-안 함이란

이걸 거의 2학기 중반에 와서야 알았다.

정말 그 때까지 버텨준 팀원에게 감사하다. 무한히 감사하다ㅠㅠ

그 후부터는 웬만한 시작은 책을 먼저 찾고 있다.

다행히 우리학교 도서관이 보유하고 있는 책이 엄청 많더라고. 그래서 이것 저것 찾아 읽어보고 있다.

언리얼도 그렇고 이번에 깃, 깃허브도 그렇고... 딥러닝 관련도 그렇다.

마음이 편해져서 그런가 책 읽는게 더 좋기도 하고.

 

참고로 2학기가 되면서, 1학기 때 받은 성적에 자신감 얻어서 이것저것 일을 벌려놨었다.

문제는 책이라는 방법을 2학기 중반을 넘어서야 알았다는 것이고

밀린 시간으로 인한 스노우볼은 지금도 열심히 스택으로 쌓이고 있다.

 

-

 

글을 쓰면서 느낀건데 그럼 나는 도서관을 왜 갔던걸까...?

생각해보면 도서관을 가는 것 자체는 좋아하지만 그렇다고 책에서 어떤 의미를 찾던 것은 아니다.

책을 읽는 것을 또 그렇게 좋아하지도 않았다.

도서관을 가던게 그 지적 허영심인가 뭔가 채우려던 수단이었던건가;

뭐 아무튼 결과적으로 덕분에 일이 잘 풀렸으니 개꿀. 마음껏 허영허영해~