Git을 처음 사용하나요? 첫날부터 이 7가지 좋은 습관을 기르세요

프로젝트의 이력을 추적하는 것부터 코드 통합에 이르기까지, Git은 현대 소프트웨어 개발의 초석이 되었습니다. 따라서 다른 사람과 협업하고자 하는 개발자에게 Git을 올바르게 사용하는 방법을 배우는 것은 중요합니다. 이 기사에서는 좋은 Git 습관을 기르는 데 도움이 되는 Git 초보자 팁을 소개하겠습니다.
1. 사용자 이름과 사용자 이메일 설정하기
Git에서 가장 먼저 해야 할 일 중 하나는 기본 사용자 이름과 이메일을 설정하는 것입니다. 이렇게 하면 커밋을 적절하게 태그할 수 있어, 다른 사람들이 귀하의 코드를 참조하고 향후 귀하에게 연락하기가 더 쉬워집니다.
사용자 이름과 이메일을 설정하려면 새 터미널 세션에서 다음 명령어를 실행하세요:
git config--global user.name "YOUR NAME"
git config--global user.email "YOUR EMAIL ADDRESS"개인 Git 구성 파일을 통해 이러한 변수를 설정할 수도 있습니다. 이를 위해 좋아하는 텍스트 편집기를 사용하여 홈 디렉토리에 .gitconfig 파일을 열거나 생성하세요:
nano ~/.gitconfig구성 파일 안에 다음 코드 줄을 붙여넣으세요:
[user]
name= YOUR-NAME-HERE
email= YOUR-EMAIL-HERE구성 파일을 저장한 후, 다음 명령어를 실행하여 Git이 이를 올바르게 읽는지 확인하세요:
git config--list2. 일반 함수에 대한 별칭 만들기
Git이 복잡한 프로그램이라는 것은 비밀이 아닙니다. 수많은 하위 명령과 옵션으로 인해 Git은 때때로 새로운 개발자에게 압도적일 수 있습니다. 사용할 수 있는 한 가지 요령은 이러한 명령에 대한 별칭을 만들어 기억하기 쉽게 만드는 것입니다.
새 별칭을 만들려면 새 터미널 세션에서 다음 명령어를 붙여넣으세요:
git config--global alias."KEY""SUBCOMMAND"KEY 자리 표시자를 하위 명령에 대한 원하는 별칭으로 바꾸세요. 제 경우에는 “status” 하위 명령을 “sta”라는 키로 설정하겠습니다.
Git 사용자 이름과 이메일을 설정하는 것과 유사하게, 홈 디렉토리의 .gitconfig 파일을 사용하여 새 별칭을 설정할 수도 있습니다. 이를 위해 .gitconfig 파일 안에 다음 코드 블록을 붙여넣으세요:
[alias]
sta = status
fet = fetch.gitconfig 파일을 저장한 후, 새 별칭이 제대로 작동하는지 확인하세요.
3. .gitignore 활용하기
활발한 코드베이스에는 버전 관리에서 추적하고 싶지 않은 파일이 포함될 수 있습니다. 이러한 파일은 남은 객체 파일이거나 리포지토리의 루트 디렉토리에 있는 임시 메모일 수 있습니다. 시간이 지남에 따라 이러한 불필요한 파일은 쌓여서 PC의 디스크 공간을 차지할 수 있습니다.
이를 해결하는 한 가지 방법은 Git 리포지토리 내에 .gitignore 파일을 만드는 것입니다. 이는 Git에게 커밋을 생성할 때 무시할 파일을 알려주는 파일입니다. .gitignore 파일을 만들려면 리포지토리 내에서 다음을 실행하세요:
nano ~/YOUR-GIT-REPO/.gitignore.gitignore 파일 안에 제외할 파일의 경로를 제공하세요. 제 경우에는 리포지토리의 “temp” 디렉토리 안에 있는 메모 파일을 포함하고 싶지 않습니다.

코드 리포지토리에 변경 사항을 커밋하여 파일이 제대로 작동하는지 확인하세요.

참고: Emacs 사용자이신가요? Magit 도구를 사용하여 Emacs에서 Git을 사용하는 방법을 알아보세요.
4. 간결한 커밋 메시지 작성하기
커밋 메시지는 모든 Git 프로젝트의 핵심 부분입니다. 이는 귀하가 만든 변경 사항에 대한 세부 정보를 제공하여 장기적으로 리포지토리를 탐색하기 쉽게 만듭니다. 그러나 이를 올바르게 수행하지 않으면 커밋 메시지가 불만의 원인이 될 수 있습니다.
따라서 Git을 사용할 때 기를 수 있는 또 다른 좋은 습관은 커밋 메시지를 간결하게 유지하는 것입니다. 기본적으로 표준 관행은 메시지를 한 줄로 유지하고 50자 이하로 하는 것입니다.

그렇다고 하더라도 특정 커밋에 대해 자세히 설명하고 싶을 수 있는 경우가 있습니다. 그런 경우에는 메시지의 줄 길이를 72자 이하로 유지하세요. 이렇게 하면 작은 터미널과 이메일에서도 커밋을 읽을 수 있습니다.
5. Git 브랜치 활용하기
Git 브랜치는 동일한 리포지토리 내에서 코드베이스의 여러 버전을 생성할 수 있는 놀라운 도구입니다. 이를 통해 원본 소스의 깨끗한 복사본을 유지하면서 새로운 코드를 개발할 수 있습니다. Git에 익숙하지 않은 사람에게는 브랜치를 만드는 것이 새로운 코드를 프로그램에 통합하는 과정을 간소화하는 중요한 습관입니다.
새 브랜치를 만들려면 Git 리포지토리로 이동한 후 다음 명령어를 실행하세요:
git checkout-b my-branchgit status를 실행하여 “my-branch” 브랜치로 이동했는지 확인한 후, 코드에서 몇 가지 변경 사항을 만드세요. 제 경우에는 리포지토리 내의 텍스트 파일을 수정하겠습니다.
git commit을 실행하여 변경 사항을 완료한 후, git checkout master를 실행하여 다시 기본 브랜치로 전환하세요.
수정한 파일을 새 브랜치에서 열어 수정된 파일이 기본 브랜치에 나타나지 않는지 확인하세요.
알아두면 좋은 점: 자가 호스팅을 시작하고 싶으신가요? 오늘날 최고의 자가 호스팅 가능한 Github 대안을 확인하세요.
6. 코드를 병합하기 전에 차이점 확인하기
Git 자체는 기능 개발, 테스트 및 코드 통합을 간소화하는 데 큰 도움이 됩니다. 그러나 코드를 병합하는 것이 항상 명확하지 않은 경우도 있습니다. 예를 들어, 기능 브랜치에서 코드를 도입하면 기본 브랜치의 기존 기능이 깨질 수 있습니다.
이를 피하기 위해서는 코드를 병합하기 전에 두 브랜치 간의 차이점을 확인해야 합니다. Git에서는 diff 명령어를 사용하여 이를 수행할 수 있습니다.
git diff master..my-branch
또한 diff 명령어는 동일한 브랜치 내의 두 파일 간의 차이를 확인할 수 있습니다. 이는 동일한 파일의 여러 복사본이 있을 때 유용하며, 그들 간의 중요한 변경 사항을 빠르게 확인할 수 있습니다.
그 외에도 파일에서 패치를 생성할 수 있습니다. 이는 다른 사람들이 귀하의 변경 사항을 자신의 Git 리포지토리에 적용하는 데 사용할 수 있는 기계 판독 가능한 텍스트의 작은 조각입니다.

7. Git Pull 대신 Git Fetch 사용하기
협업에 관해서 Git은 다른 개발자와 작업을 쉽게 공유하고 얻을 수 있는 도구를 제공합니다. 예를 들어 git pull 명령어는 로컬 시스템의 리포지토리에 대한 업데이트를 가져오고 적용할 수 있게 해줍니다.
그렇다고 하더라도 git pull의 단점 중 하나는 자동으로 업스트림의 변경 사항을 로컬 복사본에 적용한다는 것입니다. 이는 여러 사람이 기능 브랜치에서 작업하거나 프로그램의 문제를 추적할 때 큰 문제가 될 수 있습니다.
이런 일이 발생하지 않도록 하기 위해서는 git pull 대신 git fetch로 전환하는 것이 좋은 습관입니다. 이는 리포지토리의 업스트림에서 최신 업데이트만 가져오고 로컬 복사본에 코드를 병합하지 않습니다.

변경 사항을 병합하려면 git merge를 실행한 후 통합하려는 브랜치의 이름을 입력하면 됩니다.

이러한 Git 습관을 배우는 것은 소프트웨어 개발 및 협업 중심 소프트웨어의 멋진 세계를 탐험하는 첫 번째 단계일 뿐입니다. Github와 Gitlab 간의 차이를 확인하여 Git 지식을 더욱 확장하는 방법을 알아보세요.
이미지 출처: Grok via x.ai. 모든 변경 사항 및 스크린샷은 Ramces Red에 의해 작성되었습니다.