<2020.03.02> Git을 사용하는 방법에 대한 생각

2020. 3. 3. 01:12Git Study

이 글을 왜 쓰는가?

오래 전부터 Git은 개발자의 숙명이고 필수도구 중 하나로 들어왔었고, 개인적인 저장소로 쓰면서도 아 약간은 편리하구나 라고 생각해온 바가 있다. 그러나, 항상 학부 팀프로젝트든 연구실 프로젝트든 branch를 여러가지 따면서 엉키고 꼬이기 일수인터라 제대로 활용을 못했었는데, 괜찮은 포스팅들과 gitpro e-book을 봐가며 몇가지 정리해보고자 한다.

특정 브랜치에 새로 개발한 기능을 추가하기

command line으로는 다음과 같다.

$ git checkout -b <따고싶은 브랜치명> <기준브랜치 명>
/* 원하는 기능에 대한 작업수행 */
$ git checkout <기준브랜치 명>
$ git merge --no-ff <땄었던 작업브랜치 명>
$ git branch -d <작업했던 브랜치>

위와 같이 명령어를 수행하면 일단 내가 생각하는 상황에서는 아무런 문제없이 기준이 되는 브랜치를 놔두고 내가 원하는 작업을 진행한 뒤, 그것을 커밋해줄 수 있다.

잘못된 Git 사용습관 고치기

오랜 기간 동안, git은 혼자만의 저장소로 사용해왔고 레거시코드를 보관해두거나 혼자 코딩하면서 생각났던 몇가지 트릭같은 것들을 잊어버릴까봐 올려두는 장소로만 사용해왔다. 당연히, origin/master에서 모든걸 해결해왔으므로(ㅋㅋ) add/commit/push만 사용하면 되었었고, 파일 하나하나 추적하기 번거로우니 붙이는 인자는 -f *을 사용해왔다(지금 생각해보면 무식..)
최근 git probook을 정주행하며 얻은 깨달음은 우선 git 사용에서 중요한 것은 push가 아닌 commit이란 것, commit에서 생성되는 git repository들의 상태변화가 중요하다는 것을 깨달았다. 당연히 이런 상태변화를 tracking함과 동시에, 상태가 너무 크게 변하지 않도록 -f *의 사용을 인생에서 없애버리고, 내가 작성했던 코드의 흐름을 일일해 add해주며 추적하는 것이 중요함을 절실하게 깨달았다.
.
.

아직까진 내가 프로젝트에 기생하는 형태로만 이해한듯 하고, 계속해서 다른 프로젝트들처럼 issue, pr merge, pull, commit이 미친듯이 일어나는 프로젝트에서도 사용할 수 있는 git 이해를 가져야할 듯 싶다.


혹시라도 더 알려주고 싶은 것이 있으시다면 언제든 말씀주시면 감사하겠습니다.