개발 이야기

간결한 Git 일상 작업 흐름 가이드

AI 동키 2023. 12. 29. 11:36
반응형

회사 PC와 집에 있는 MAC을 오가며 작업을 하고있습니다. 두 개의 디바이스에서 혼자 Git으로 버전컨트롤을 하는 워크플로우를 간략하게 정리해봤습니다. Git 초보라면 읽어보시면 분명 도움이 되실 거라 생각해요!

코딩하는 동키

 

새 디바이스에서 작업 시작 (원격 최신 상태 동기화)

  1. 원격 저장소의 최신 상태를 로컬로 가져오기
    • git pull origin main (혹은 대상 브랜치명)

작업 시작 후에 로컬에서 변경한 내용을 원격 저장소에 반영하는 과정은 다음과 같습니다:

작업 시작 후 (로컬 변경 사항을 원격에 반영)

  1. 작업 파일 확인
    • git status (변경된 파일 확인)
  2. 변경 사항 추가
    • git add . (모든 변경사항 추가)
    • 또는 git add [파일명] (특정 파일만 추가)
  3. 커밋 만들기
    • git commit -m "커밋 메시지" (변경 사항 설명)
  4. 원격 저장소에 Push
    • git push origin main (혹은 대상 브랜치명)

작업 후 다른 장치로 이동 전/후

  1. 다른 장치로 이동 전: 위의 1~4단계 수행 하여 작업 내용을 원격에 반영.
  2. 다른 장치에서 작업 시작 전: 첫 번째 장치에서 했던 것처럼 최신 상태를 다운로드하여 시작.

주의사항

  • 항상 작업을 시작하기 전과 다른 사람의 코드를 병합하기 전에 git pull을 통해 최신 상태를 유지합니다.
  • 충돌이 발생하면, 충돌하는 부분을 해결하고 저장한 뒤, 다시 add, commit, push의 과정을 수행합니다.
  • 브랜치를 사용할 경우, 항상 어떤 브랜치에서 작업하고 있는지 확인하고, 필요에 따라 브랜치를 변경(git checkout [브랜치명])합니다.
  • 불확실할 때는 git status를 통해 현재 상태를 확인하는 것이 좋습니다.

 


새로운 라이브러리 추가 후 requirements.txt 업데이트 (MAC에서)

  1. 터미널을 열고 Git 프로젝트의 디렉토리로 이동합니다.
  2. 프로젝트에 가상 환경이 있다면 해당 환경을 활성화합니다. 
    source venv/bin/activate (여기서 'venv'는 가상 환경의 이름입니다).
  3. git pull 명령어를 사용하여 원격 저장소의 최신 변경 사항을 로컬로 가져옵니다.
    일반적으로 git pull origin main 명령어를 사용합니다(여기서 'main'은 대상 브랜치명입니다).
  4. pip install -r requirements.txt 명령어를 실행하여 requirements.txt 파일에 명시된 모든 패키지를 설치합니다.
    이 명령은 현재 활성화된 Python 환경에 필요한 패키지들을 설치합니다.
  5. 이제 모든 필요한 패키지가 설치되었으니 개발 작업을 계속할 수 있습니다.

이 과정을 통해 다른 개발자나 원격 저장소에 의해 업데이트된 requirements.txt 파일에 따라 필요한 Python 패키지를 설치하고, 로컬 환경을 최신 상태로 유지할 수 있습니다.

 



git 주요 용어 설명

  1. git fetch
    : 원격 저장소의 최신 상태를 로컬에 가져오지만, 현재 작업중인 코드에는 영향을 주지 않습니다. 이 명령은 원격 저장소의 최신 변경사항을 확인하고자 할 때 유용합니다.
  2. git pull
    : 원격 저장소의 변경 사항을 현재 로컬 브랜치로 가져오고 병합합니다. git fetch 다음에 git merge를 실행하는 것과 동일한 작업을 한 단계로 수행합니다. 즉, 원격 저장소의 최신 내용을 로컬 작업과 합치고자 할 때 사용합니다.
  3. git add
    : 변경된 파일들을 스테이징 영역에 추가합니다. 이 단계는 git commit을 하기 전에, 변경사항을 선택적으로 또는 전체적으로 준비(Staging)하는 과정입니다.
  4. git commit
    : 스테이징 영역에 추가된 변경사항들을 로컬 저장소에 확정짓습니다. 각 커밋은 이후에 참조될 수 있는 고유한 ID와 함께 변경된 내용, 작성자, 날짜 등의 메타데이터를 포함합니다.
  5. git push
    : 로컬 브랜치의 커밋을 원격 저장소에 업로드합니다. 이는 로컬에서 완료된 작업을 다른 사람과 공유할 때 사용됩니다.
  6. git reset
    : 이 명령은 '되돌리기' 작업에 사용되며, git reset 후에는 특정 커밋으로 현재 브랜치를 재설정하거나 스테이징된 변경사항을 취소할 수 있습니다. 예를 들어, 잘못된 파일을 커밋했거나 아직 원격 저장소에 푸시하지 않은 커밋을 수정하고 싶을 때 유용합니다.

 

버전 컨트롤은 단지 소프트웨어 개발을 위한 도구가 아니라,
여러분의 정신 건강을 위한 도구입니다.

잘 사용하면 Git은 실험을 자유롭게 하고,
모든 변경사항을 추적하며,
다른 사람들과 무리 없이 협업할 수 있게 하는 안전망이 됩니다. 
반응형