Git 학습블로그
Git 이란?
Git은 버전 관리 시스템(VCS)으로, 소프트웨어 개발 과정에서 코드의 변화를 추적하고, 여러 명의 개발자가 동시에 동일한 프로젝트에 협업할 수 있도록 도와줍니다. Linus Torvalds에 의해 개발되었습니다.
GitHub란?
GitHub는 Git의 클라우드 기반 호스팅 서비스로, 프로젝트의 버전 관리뿐만 아니라 협업 기능도 제공합니다.
Set Configuration
Git에서 사용자 설정을 초기화하는 방법은 다음과 같습니다:
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
이 설정은 커밋할 때 사용자 정보를 등록하는 데 사용됩니다.
git 시작하기
Git 프로젝트를 시작하는 방법은 간단합니다:
git init
이 명령어는 새로운 Git 저장소를 초기화합니다.
커밋 컨벤션
커밋 컨벤션이란?
커밋 컨벤션은 프로젝트의 커밋 로그를 일관되고 이해하기 쉽게 유지하는 데 도움을 주는 명명 규칙입니다.
규칙
1. commit 의 제목은 구나 절의 형태로 간결하게
2. 'Importance of Capitalize'처럼 중요한 단어는 대문자로 시작
3. prefix 사용 예:
1. feat: 새로운 기능
2. build: 빌드 시스템 업데이트
3. fix: 버그 수정
4. ci: CI 설정 변경
5. docs: 문서 업데이트
6. chore: 기타 작업
7. test: 테스트 추가 및 변경
8. style: 스타일 및 포맷 변경
9. conf: 설정 파일 변경
.gitignore
.gitignore란?
.gitignore 파일은 Git 저장소에서 트래킹하지 않을 파일들을 지정하는 텍스트 파일입니다. 이를 통해 불필요한 파일이 저장소에 포함되는 것을 방지할 수 있습니다.
설정법
# 주석 - 이 파일은 로컬 환경에서만 필요
*.log
# 빌드 출력 제외
/build/
Git 기본 커맨드
Branch
git branch new-feature # 새로운 브랜치 생성
git checkout new-feature # 새로운 브랜치로 전환
Merge Conflict
병합 충돌은 두 개발자가 동일한 코드 라인을 동시에 수정하고 병합하려 할 때 발생합니다. 충돌을 해결하려면 수동으로 코드를 검토하고 수정해야 합니다.
Pull Request란?
Pull Request(PR)는 매우 중요한 협업 도구입니다. 개발자가 작업을 완료한 후 해당 코드 변경사항을 메인 프로젝트의 저장소에 병합하기 위해 요청하는 메커니즘입니다. Pull Request가 이루어지는 과정은 다음과 같습니다.
- 브랜치 생성: 개발자는 기능 개발이나 버그 수정을 위한 별도의 브랜치를 생성합니다.
- 코드 작성 및 커밋: 브랜치에 필요한 변경사항을 작성하고 커밋합니다.
- Pull Request 생성: 변경사항을 특정 브랜치(보통
main
또는master
)에 병합하고자 할 때, GitHub에서 Pull Request를 생성합니다. - 코드 리뷰: 다른 개발자들이 코드를 검토하고 피드백을 제공할 수 있습니다. 필요한 경우 추가 커밋을 통해 PR을 업데이트합니다.
- 테스트: 대부분의 프로젝트에서는 코드 병합 전 자동화된 테스트를 수행하여 변경사항이 기존 기능에 영향을 주지 않는지 확인합니다.
- 병합(Merge): 리뷰가 완료되고 모든 체크가 통과되면, 메인 브랜치에 PR을 병합합니다. 이 과정은
Merge Pull Request
버튼을 클릭함으로써 수행됩니다.
Pull Request는 코드의 투명성을 보장하고, 여러 개발자가 동시에 같은 프로젝트에 기여할 수 있게 하는 효과적인 방법을 제공합니다.
git stash란?
git stash
는 작업 중인 변경사항을 일시적으로 저장하고 나중에 다시 꺼내 쓸 수 있게 해주는 Git의 유용한 기능입니다. git stash
는 현재 작업 중인 브랜치의 변경사항(스테이징된 변경사항과 스테이징되지 않은 변경사항 모두 포함)을 임시로 저장하고, 작업 디렉토리를 깨끗한 상태로 유지하게 해 줍니다. 이는 다른 브랜치로 전환해야 할 때 또는 현재 작업을 잠시 중단하고 다른 작업을 해야 할 때 유용하게 사용할 수 있습니다.
기본 사용법
Stash 생성:
git stash
또는git stash push
명령어를 사용하여 작업 중인 변경사항을 스태시에 저장합니다.git stash
이 명령어는 변경사항을 스태시에 저장하고 작업 디렉토리를 깨끗하게 합니다.
Stash 목록 보기:
git stash list
명령어를 사용하여 저장된 스태시 목록을 볼 수 있습니다.git stash list
각 스태시는 스택에 저장되며, 최신 스태시가 가장 위에 위치합니다.
Stash 적용:
git stash apply
명령어를 사용하여 특정 스태시를 다시 작업 디렉토리에 적용합니다.git stash apply
이 명령어는 가장 최근의 스태시를 적용하지만, 스태시 목록에서 삭제하지는 않습니다.
Stash 적용 및 삭제:
git stash pop
명령어를 사용하여 스태시를 작업 디렉토리에 적용하고 스태시 목록에서 삭제합니다.git stash pop
이 명령어는 스태시를 적용한 후 해당 스태시 항목을 스택에서 제거합니다.
활용 예
git stash
는 코드를 임시로 저장하고 다른 우선순위 작업을 처리한 후에 원래의 작업으로 돌아오기를 원할 때 특히 유용합니다. 예를 들어, 긴급한 버그 수정을 해야 하는 경우 현재의 개발 상태를 git stash
로 저장하고, 버그 수정 작업을 마친 후 원래의 작업 상태로 쉽게 돌아올 수 있습니다.
참고
'프로그래밍 > AI' 카테고리의 다른 글
Git 활용 전략 (1) | 2024.12.16 |
---|---|
멀티 쓰레드와 멀티 프로세스 (1) | 2024.12.11 |
Python List (0) | 2024.12.11 |
해시 함수 와 해시충돌 (1) | 2024.12.11 |
Computational Thinking (0) | 2024.12.06 |