개발 이야기
간결한 Git 일상 작업 흐름 가이드
AI 동키
2023. 12. 29. 11:36
반응형
회사 PC와 집에 있는 MAC을 오가며 작업을 하고있습니다. 두 개의 디바이스에서 혼자 Git으로 버전컨트롤을 하는 워크플로우를 간략하게 정리해봤습니다. Git 초보라면 읽어보시면 분명 도움이 되실 거라 생각해요!
새 디바이스에서 작업 시작 (원격 최신 상태 동기화)
- 원격 저장소의 최신 상태를 로컬로 가져오기
- git pull origin main (혹은 대상 브랜치명)
작업 시작 후에 로컬에서 변경한 내용을 원격 저장소에 반영하는 과정은 다음과 같습니다:
작업 시작 후 (로컬 변경 사항을 원격에 반영)
- 작업 파일 확인
- git status (변경된 파일 확인)
- 변경 사항 추가
- git add . (모든 변경사항 추가)
- 또는 git add [파일명] (특정 파일만 추가)
- 커밋 만들기
- git commit -m "커밋 메시지" (변경 사항 설명)
- 원격 저장소에 Push
- git push origin main (혹은 대상 브랜치명)
작업 후 다른 장치로 이동 전/후
- 다른 장치로 이동 전: 위의 1~4단계 수행 하여 작업 내용을 원격에 반영.
- 다른 장치에서 작업 시작 전: 첫 번째 장치에서 했던 것처럼 최신 상태를 다운로드하여 시작.
주의사항
- 항상 작업을 시작하기 전과 다른 사람의 코드를 병합하기 전에 git pull을 통해 최신 상태를 유지합니다.
- 충돌이 발생하면, 충돌하는 부분을 해결하고 저장한 뒤, 다시 add, commit, push의 과정을 수행합니다.
- 브랜치를 사용할 경우, 항상 어떤 브랜치에서 작업하고 있는지 확인하고, 필요에 따라 브랜치를 변경(git checkout [브랜치명])합니다.
- 불확실할 때는 git status를 통해 현재 상태를 확인하는 것이 좋습니다.
새로운 라이브러리 추가 후 requirements.txt 업데이트 (MAC에서)
- 터미널을 열고 Git 프로젝트의 디렉토리로 이동합니다.
- 프로젝트에 가상 환경이 있다면 해당 환경을 활성화합니다.
source venv/bin/activate (여기서 'venv'는 가상 환경의 이름입니다). - git pull 명령어를 사용하여 원격 저장소의 최신 변경 사항을 로컬로 가져옵니다.
일반적으로 git pull origin main 명령어를 사용합니다(여기서 'main'은 대상 브랜치명입니다). - pip install -r requirements.txt 명령어를 실행하여 requirements.txt 파일에 명시된 모든 패키지를 설치합니다.
이 명령은 현재 활성화된 Python 환경에 필요한 패키지들을 설치합니다. - 이제 모든 필요한 패키지가 설치되었으니 개발 작업을 계속할 수 있습니다.
이 과정을 통해 다른 개발자나 원격 저장소에 의해 업데이트된 requirements.txt 파일에 따라 필요한 Python 패키지를 설치하고, 로컬 환경을 최신 상태로 유지할 수 있습니다.
git 주요 용어 설명
- git fetch
: 원격 저장소의 최신 상태를 로컬에 가져오지만, 현재 작업중인 코드에는 영향을 주지 않습니다. 이 명령은 원격 저장소의 최신 변경사항을 확인하고자 할 때 유용합니다. - git pull
: 원격 저장소의 변경 사항을 현재 로컬 브랜치로 가져오고 병합합니다. git fetch 다음에 git merge를 실행하는 것과 동일한 작업을 한 단계로 수행합니다. 즉, 원격 저장소의 최신 내용을 로컬 작업과 합치고자 할 때 사용합니다. - git add
: 변경된 파일들을 스테이징 영역에 추가합니다. 이 단계는 git commit을 하기 전에, 변경사항을 선택적으로 또는 전체적으로 준비(Staging)하는 과정입니다. - git commit
: 스테이징 영역에 추가된 변경사항들을 로컬 저장소에 확정짓습니다. 각 커밋은 이후에 참조될 수 있는 고유한 ID와 함께 변경된 내용, 작성자, 날짜 등의 메타데이터를 포함합니다. - git push
: 로컬 브랜치의 커밋을 원격 저장소에 업로드합니다. 이는 로컬에서 완료된 작업을 다른 사람과 공유할 때 사용됩니다. - git reset
: 이 명령은 '되돌리기' 작업에 사용되며, git reset 후에는 특정 커밋으로 현재 브랜치를 재설정하거나 스테이징된 변경사항을 취소할 수 있습니다. 예를 들어, 잘못된 파일을 커밋했거나 아직 원격 저장소에 푸시하지 않은 커밋을 수정하고 싶을 때 유용합니다.
버전 컨트롤은 단지 소프트웨어 개발을 위한 도구가 아니라,
여러분의 정신 건강을 위한 도구입니다.
잘 사용하면 Git은 실험을 자유롭게 하고,
모든 변경사항을 추적하며,
다른 사람들과 무리 없이 협업할 수 있게 하는 안전망이 됩니다.
반응형