commit 보충편으로 돌아왔습니다! 이번 글에서 소개하는 내용은 제가 개인적으로 선호하는 방법들입니다. 이번 글은 이런 식으로 커밋을 할 수도 있구나하는 참조 정도로만 읽어주세요.
겉핥기로 시작하는 Git -commit편-에서 몇가지 권장사항을 소개 드렸지만 Git을 막 가르쳐서 같이 프로젝트를 진행하게 되면 규칙들이 잘 지켜지지 않고, 메세지가 명확하지 않은 경우가 더 많습니다. 결국 작업 내용을 확인해야지 해당 commit이 뭘 위한 것이었는지 알 수 있는 경우도 있었습니다.
그래서 방법이 없을까 찾던 중 prefix를 사용하는 방법을 발견해서 저희 팀에 맞게 수정을 해서 사용했습니다.
약속을 지키기 위해 오늘은 드디어 commit 편입니다. 위에 그림을 보시면 Stage Area에서 Local Repository로 단계를 넘어갈 때 사용하는 명령어가 commit입니다. 영어 공부를 열심히 한 여러분은 아마 지난 두 편간 나올 기약이 없던 commit을 보면서 commit인데 왜 약속을 안지키냐고 생각 하셨을 수도 있겠습니다. 프로그래밍을 공부하다 보면 익숙한 단어지만 익숙하지 않은 뜻으로 사용되는 경험을 종종하실 수 있습니다. 오늘의 주인공인 commit도 그 중 하나입니다.
데이터베이스를 공부 하셨던 분들한테는 익숙하겠지만 여기서 commit은 변경사항을 적용한다는 의미입니다.
commit은 한 번 밀리게 되었습니다. 생각을 해보니까 이걸 안해놓으면 나중에 commit할 때 꼬일거 같아서 설정을 먼저 해보겠습니다.
add한 파일의 변경사항을 기록하는게 commit입니다. 게임도 저장할때 누구의 세이브 파일인지 알려줍니다. Git도 비슷하게 누가 해당 commit을 남기는지 알고 싶어합니다. Git이 원하느 정보는 두 가지입니다. 당신의 이름이 뭐고, 연락하고 싶을 때 보낼 메일 주소입니다.
git config --global user.name "Hong-Gildong"
git config --global user.email "gildong@github.com" 이 명령어는 내 컴퓨터고 나 혼자 이 컴퓨터에서 Git을 사용한다! 하시는 분에게 추천합니다.
지난 글의 예고와는 다르게 git ignore를 먼저 가지고 왔습니다. .gitignore를 확장자로 가지니는 이 친구는 이름값을 하는 친구 입니다. git이 무시할 파일과 디렉토리를 설정해주기 때문입니다.
코드를 작성하고 프로젝트를 진행하다보면 굳이 공유하지 않아도 될 파일이 만들어 지기도 하고, 뒤에 다루게 될 원격 저장소에 올라가지 않아도 되거나 올리면 안될 결과물들이 만들어지기도 합니다. 대표적으로 .idea, .vs 등 IDE들에서 생성되지만 코드를 공유하고 백업하는데 오히려 방해가 되는 것들이 있습니다. 다른 사람이나 미래의 내가 그 코드를 다시 사용하는데 IDE 설정 등이 commit을 방해하는 경우도 생깁니다.
이미지에 있는 명령어는 하나씩 배울 거니 지금은 이해가 안가도 괜찮습니다. 겉핥기로 시작하는 Git 시리즈는 Git bash를 사용하는 것으로 전제로 작성 된 글입니다. 이김에 CLI에 익숙해져 보세요!!
오늘은 Git이 어떤 작업 순서를 살펴 보겠습니다. Git을 사용하면 물리적으로는 2가지 단계 논리적으로는 3,4단계에 걸쳐 있습니다. 여기서 물리적인 단계는 작업을 하고 있는 내 컴퓨터와 내 작업 내역을 저장할 원격 저장소가 있는 서버 또는 Github, GitLab 등의 서비스 저장소를 의미하며 물리적으로 2개 이상으로 나뉘어 있는게 보통입니다.
초심을 되찾고자 기술 블로그로 돌아가기로 했습니다! 1년 반 정도 IT 도서 서평만 올렸는데 학부 시절 누가 제가 알려줬으면 했던 기술들을 연재해보려고 합니다. 해당 프로젝트의 첫 아이템인 Git입니다.
이미 많은 양질의 Git, Github 관련 글들이 인터넷에 존재하지만 제가 겪었던 시행착오를 나누면서 제 블로그를 보시는 분들에게 도움이 되었으면 합니다.
대학시절 팀 프로젝트, 동아리 등의 활동을 하면서 제일 먼저 세팅하고 필요성을 역설한 개발도구가 Git이었습니다. 하지만 많은 경우 시작하는 시점에선 Git의 필요성조차 느끼지 못하는 친구들이 많았습니다.