[KT AIVLE School 4기] 1주차 - git 활용법

늘보·2023년 8월 12일
0
post-thumbnail

1주차

드디어 6개월 대장정이 시작되었다. 오전 9시 30분 정도에 시작해서 오후 5시 30분에 끝나는 일정인데, 확실히 고등학교 졸업한지도 오래 되었고 하다보니 쉽지는 않고 오후로 갈 수록 점점 진이 빠진다. 그래도 한 2-3일 했다고 조금씩 적응은 되어 가고 있는 것 같다. 첫 주차에는 git 활용법과 파이썬 기초에 대한 수업이 이루어졌는데 파이썬 기초 보다는 나도 들어만 봤지 실제로는 처음 활용해본 git에 대해서 정리해 보는 것이 좋을 것 같다.

첫 강의

오프닝 데이 날 카이스트 조대곤 교수님께서 데이터와 관련된 특강을 해주시긴 했지만, 실제 커리큘럼 상 첫 강의로는 git 활용법에 대한 강의가 이루어졌다. 강사님은 생활 코딩(무려 30만 유튜버!)의 이고잉 강사님이셨고, 확실히 유튜버셔서 그런지 모르겠지만 강의력이 엄청나셨다.

git의 원리와 활용법

git을 활용해야 하는 이유

많은 사람들이 git 또는 git hub를 활용하며 협업을 위한 툴로 생각한다. 물론 그 말이 틀린 것은 아니지만 강사님께서는 git의 가장 큰 기능은 버전 관리라고 하셨다. 그럼 버전 관리는 왜 중요할까? 버전 관리의 목적은 디버깅이라고 할 수 있다. 하나의 버전을 하나의 목적을 가진 작업만을 위해 작성하고 버전별로 관리가 된다면 혹시라도 버그가 발생했을 때 전 코드를 검수하는 것이 아니라 버전 간의 비교만으로도 버그가 발생한 지점을 알 수 있다.

코드 작성 툴과 git 연결하기

visual studio code에서 파일을 생성 혹은 열게 되면 소스 제업 탭에서 리포지토리 초기화를 누르게 되면 코드 작성 툴인 visual studi code와 git을 연결할 수 있다. (git에 처음으로 연결을 하는 것이라면 작성자의 이름과 이메일을 등록해야 된다는 알림이 뜨게 되는데 git config --global user.name '이름', git config --global user.email '이메일' 두가지 명령어를 터미널(git bash)에 작성해 설정할 수 있다. )

이후 해당 폴더에서 작업을 수행하게 되면 git으로 바로 업로도 되는 것이라고 생각할 수도 있지만, 해당 작업들을 커밋하지 않으면 git의 리포지토리에 업로드 되지 않는다. 소스 제어 탭에 다시 들어가 보면 아직 커밋되지 않은 작업들은 변경사항에 올라와 있고, 변경 사항 옆에 + 버튼을 누르면 스테이징 된다. 스테이징은 커밋 대기 상태라고 보면 될 것 같다. 여러 작업을 한 커밋으로 올리고 싶을 때 여러 작업들을 동시에 스테이징 시키고 커밋하게 되면 git에는 하나의 버전으로 커밋된다.
자신이 원하는 작업들을 스테이징 했다면 커밋 메세지(이름 정도로 생각하면 된다)를 작성하고 커밋을 누르면 git에 하나의 버전으로 올라간다.

git graph

이렇게 만든 버전들은 터미널에서도 명령어를 통해서 조회하고 변경하고 할 수 있지만, git graph라는 확장 프로그램을 활용하면 gui를 통해 훨씬 더 쉽게 접근할 수 있다. 아무 변경 사항 없이 일방향으로 쭉 작성하게 된다면 큰 문제 없겠지만, 강사님의 말씀에 따르면 하나의 프로젝트에 대한 메인 방향성으로 버전을 쭉 작성하면서도 이외에 실험적인 시도들을 다른 버전으로 작성하는 경우가 생기게 된다. 그리고 이런 경우 실험적인 작업과 메인 작업이 모두 서로 방해받지 않고 작업이 잘 이루어지기 위해서는 실패한 작업들은 폐기가 용이해야 하고 성공했을 때는 쉽게 병합할 수 있어야 하고 git graph를 통해서는 gui를 활용해 조금 더 쉽게 해당 작업들을 할 수 있다.
처음 커밋을 하게 되면 main 이라는 branch가 생성이 되고 체크아웃 한 후, 새로운 branch를 생성하면 해당 시점에서 다른 방향으로 작업을 수행할 수 있게 된다.


w1이라는 버전의 시점에서 새롭게 작성할 수 있는 p2 branch가 생성된 그림이라고 보면 될 것 같다.

이후에도 branch를 병합하는 방법, 병합할 때 충돌이 일어날 때 해결하는 방법, 그리고 많은 분들이 사용하시는 협업 방법까지 알려주셨지만 글을 안 쓰던 사람이 글 하나 쓰려고 하니 작성 시간이 계속 길어져서 추후에 더 추가하도록 해봐야겠다 ㅎㅎ.

1개의 댓글

comment-user-thumbnail
2023년 8월 12일

정보에 감사드립니다.

답글 달기