[깃/Git/깃허브/Github] 지옥에서 온 문서관리자 깃&깃허브 입문 정리 시작

2020. 7. 28. 11:0003. Resources/Git

728x90
반응형

지옥에서 온 문서관리자 깃&깃허브 입문

Ch0. 내가 이 책을 읽은 이유


요약

  • 시뮬레이션 환경 개발을 하면서 버전 및 이력 관리의 필요성을 느낌
  • 내가 해왔던 프로젝트, 앞으로 진행할 프로젝트의 이력 관리의 필요성을 느낌

히스토리

깃과 깃허브에 대해서는 코드를 작성하는 프로젝트를 진행해본 사람이라면 한 번쯤은 들어봤을 이름이다.

나역시도 막연하게 프로젝트 작업 시 공동개발을 위한 툴이라고 알고 있었다.

특히, 제공되는 기능은 버전 및 이력관리와 원활한 협업을 위한 기능을 제공한다는 수준까지만 알고 있었다.

이걸 본격적으로 써봤던건 2018년 초, 강화학습 커뮤니티에서 텐서플로우를 이용한 강화학습 오픈소스를 만드는 프로젝트에 참여했을 때이다. 이 프로젝트에 참여한 목적 중 하나에 깃허브를 열심히 써보는 것도 포함되어있었다.

  • 저 프로젝트에 참여하기 전까지 내 깃허브 게정은 수학의 정석 1장처럼 깃허브를 시작하는 방법에서 보여주는 예시만 들어있는 레포지토리로 가득했다.

  • IT업계 및 코딩을 필요로 하는 업계에서는 대부분 이용한다는 사실은 알고 있었지만, 저때까지는 내가 실제로 이 툴을 이용해야겠다는 필요성도 느끼지 못하고 있었고, 관리할 프로젝트도 없었기 때문에 매번 시작점에서만 맴돌았다.

해당 프로젝트에 참여하면서 깃허브에 익숙해질 줄 알았는데, 프로젝트에 참여할 당시의 내 역량이 굉장히 미천하여 개선할 수 있는 코드나, 개발할 수 있는 코드가 거의 없어서 이용했던 커맨드는 대부분 remote fetch, pull 정도였다.

심지어 저 프로젝트가 끝난 이후로는 애초에 깃을 쓸 일이 없어서 다시 내 깃허브는 방치되고 있었다.


대학원 마지막 학기에 본격적으로 취업 준비를 병행하면서, 내가 해왔던 프로젝트들을 정리해볼 기회가 생겼다.

분명히 엄청나게 많은 작은 프로젝트들이 있었던 것 같은데, 매번 로컬 파일로만 관리를 했고, 버전도 뒤죽박죽이었다보니 어떤 파일이 최종 파일인지도 모를 지경이었다.

그나마 찾았던 파일들도 필요하거나 요청받은 기능에 따라 덕지덕지 개발한 코드들이라 어떤 순서를 통해 해당 프로젝트를 개발했는지 알 수가 없었다.

그래서 열심히 기억을 더듬어 가면서 해당 프로젝트를 작업할 때 가졌던 생각과 느꼈던 점, 결과물에 대해서 정리를 하긴 했지만, 모든 파일의 기록 및 작업 이력을 오롯이 나의 기억력에만 의존한다는 것이 언젠가 해당 프로젝트를 필요로 할 때 복기하는 과정에서 굉장히 힘들 수 있다는 생각을 했다.

또한, 해당 프로젝트들을 내가 직접 개발했다는 증빙을 남기기도 쉽지 않았다. 분명히 내가 개발했었던 환경인데 아무리 찾아도 코드가 없어서 증빙을 하지 못했거나, 분명히 그 시절에 공부를 해서 내 머리속엔 있는데, 내가 공부를 했는지 안했는지에 대한 증명이 너무 힘들었다.

이력서를 쓸 때 가장 중요한 것이 해당 경험에 대한 증빙이라고 생각하는데, 그런 면에서 역시나 버전 관리도 제대로 되지 않은 로컬에 관리를 하는 것은 굉장히 불편하다는 것을 깨달았다.


게다가 회사에 들어와서 맡은 업무가 시뮬레이션 환경 개발인데, 굉장히 마이너한 수정 사항들이 많고, 작업한 환경에 따라 결과가 다르게 나와서 추후에 해당 실수를 방지하기 위해서는 해당 이벤트들을 다 기록할 필요가 있었다.

그리고 앞으로 내가 회사에서 지금 하는 일이 아닌 다른 프로젝트들에 들어가게 될 경우, 다들 깃을 이용해서 작업을 진행하기 때문에 배워야할 필요가 있다고 생각했다.


결국 위의 필요성들에 의해 이 책을 사서 읽게 되었다. 물론 산지는 꽤 됐고, 읽기도 다 읽었다.

필요했던대로 회사에서도 열심히 쓰고는 있지만, 대부분 GUI 기반의 프로그램에서 뚝딱뚝딱 처리해버리기도 하고, 지금은 쓰고 있는 기능이 pull, add, commit 정도 밖에 없어서 다른 기능들은 다 까먹어버렸다.

어차피 다른 기능들을 이용하려면 검색을 해야하는데, 이왕 검색할거 내 블로그에 작성해두자는 마인드로 책 정리를 시작한다!


책 정리는 기본적으로 목차를 따라가긴 할거지만, 내가 필요로 하는 내용 위주로 정리할 예정이다.

이번에 정리할 때에는 해당 챕터에서 제시하는 예시를 작성한 레포지토리를 링크로 걸면서 더 적극적으로 기능을 쓰고, 해당 기능의 결과가 어떻게 되는지에 대한 것도 다 메모할 예정이다!

사족이 길었지만 정리를 시작해야겠다!

반응형