Git 구조와 주요 명령어

Rally·2024년 2월 22일

Summary

  • Git은 소프트웨어 개발 시 소스 코드 관리에 널리 사용되는 버전 관리 시스템이다.
  • 속도와 데이터 무결성에 중점을 두고 변경 사항을 분기, 병합 및 추적하는 강력한 기능을 제공한다.
  • 업계에서 널리 채택된 Git은 비선형 개발을 지원하는 유연성으로 잘 알려져있다.

Thought

Git 아키텍처 구성은 어떻게 될까?


위 다이어그램은 git환경 내의 주요 공간요소와 명령을 개략적으로 설명하는 순서도이고 로컬 작업 공간과 원격 서버 저장소 간의 상호 작용을 보여준다.

구분설명
workspace로컬폴더에서 프로젝트 파일을 작업하는 곳으로 파일 수정 시 작업 공간에서 수정된 파일이 인덱스에 추가되지 않으면 작업 공간의 내용이 인덱스의 내용과 일치하지 않게 된다.
index파일이 임시로 저장되는 캐시공간 즉 스테이징 영역이. 커밋 작업을 수행하면 인덱스에 임시로 저장된 모든 파일이 로컬 저장소에 함께 커밋된다. 그러면 로컬 저장소의 모든 파일이 색인 파일로 대체된다. 인덱스는 git 아키텍처 설계에서 매우 중요한 부분이다.
local repositorygit은 분산 버전 관리 시스템이다. 원격 서버와 통신하지 않고 완전히 분산된 방식으로 작동할 수 있다. 로그 기록, 커밋, diff를 포함한 모든 오프라인 작업을 로컬에서 수행할 수 있다. 따라서 모든 오프라인 작업은 로컬에서 완료될 수 있으며 필요할 때 원격서버와 상호작용한다.
remote
repository
모든 사람이 공유하는 공유 집중식 저장소이다. 로컬 저장소가 원격 저장소와 상호작용해야한다. 원격 저장소의 구조는 일반적으로 로컬 저장소의 구조와 동일하다.

git명령에 따른 상태 변화

자주 쓰는 git명령어 정리

git init: 새로운 git 저장소를 초기화
git clone [url]: 원격 소스에서 저장소를 복제
git add [file]: 커밋을 위한 단계 변경.
git commit -m "[description]": 준비된 콘텐츠를 새로운 커밋 스냅샷으로 커밋
git status: 변경 상태를 추적되지 않음, 수정됨, 단계적으로 나열
git push [remote] [branch]: 브랜치를 원격 저장소로 푸시
git pull: 원격 저장소에서 변경 사항을 가져옴
git Branch: 현재 활성 브랜치 옆에 별표를 표시하여 브랜치를 나열
git checkout [branch-name]: 다른 브랜치로 전환하고 작업 디렉터리로 체크아웃
git merge [branch]: 지정된 브랜치의 히스토리를 현재 브랜치에 병합합


References

profile
새로운 것을 배우고 즐기며, 그 안에서 성장하길 원합니다.

0개의 댓글