14. Git Branches and Remote Repositories
브랜치 이해
Git 브랜치는 여러 프로젝트 버전을 동시에 개발할 수 있게 합니다. master 브랜치는 일반적으로 안정적인 프로덕션 준비 코드를 포함하고, 기능 브랜치는 메인 코드베이스를 방해하지 않고 실험을 허용합니다.
터미널에서 브랜치 작업
다음 명령어를 사용하여 브랜치를 생성하고 전환합니다:
git branch 1.1-testing
git branch --list
git checkout 1.1-testing
수정 후 변경 사항을 스테이징하고 커밋합니다:
git add file2
git commit -m "Improved code in file2"
핵심 팁: "커밋하기 전에 항상 'git add'를 사용하여 변경 사항을 스테이징 영역에 추가하여 의도한 수정 사항만 커밋되도록 하세요."
커밋 기록 보기
git log --raw를 사용하여 커밋 기록을 검토합니다. 출력에는 파일 작업(A=추가, D=삭제, M=수정)과 고유한 커밋 해시가 표시됩니다. git show 명령어는 특정 커밋의 변경 사항을 보여줍니다.
브랜치를 전환하면 HEAD 포인터는 현재 브랜치의 상태를 반영하여, 변경 사항이 각자의 브랜치에만 존재함을 보여줍니다.
브랜치 병합
기능 브랜치에서 개선 사항을 확인한 후 master로 병합합니다:
git checkout master
git merge 1.1-testing
이렇게 하면 기능 브랜치의 변경 사항이 master 브랜치에 통합됩니다.
원격 저장소 작업
로컬 변경 사항 푸시
원격 저장소 설정:
git remote add origin [email protected]:username/project.git
git push origin master
SSH 키 설정
안전한 통신을 위한 SSH 키 생성:
ssh-keygen
cat ~/.ssh/id_ed25519.pub
인증을 위해 공개 키를 GitHub 계정 설정에 추가합니다.
원격 저장소 복제
새 팀원은 전체 프로젝트를 복제할 수 있습니다:
git clone [email protected]:username/project.git
이렇게 하면 전체 커밋 기록이 포함된 로컬 디렉토리가 생성됩니다.