CM

CM/Git

Git 원격 저장소

원격 저장소 다른 사람과 협업을 하려면 원격 저장소가 필수적이다. 한 프로젝트 내에 원격 저장소가 여러 개 있을 수 있으며 원격 저장소의 push 권한, fetch 권한을 얻는다면 push 혹은 fetch 명령어를 사용할 수 있다. 원격 저장소 확인 git remote 명령으로 프로젝트에 등록된 리모트 저장소를 확인 할 수 있다. 저장소를 clone 하면 리모트 저장소가 'origin'이라는 이름으로 자동 등록 된다. 원격 저장소 추가 git remote add 명령으로 url에 위치한 저장소를 원격 저장소로 등록한다. 리모트 브랜치 로컬 저장소의 브랜치 종류는 non-tracking local branch, tracking local branch, remote tacking branch로 나뉘며 리모트..

CM/Git

Git branch

브랜치(branch) 독립적인 작업 흐름을 브랜치라 한다. 부모 브랜치로부터 가지처럼 분기되어 새로운 작업 흐름을 만든다. 모든 프로젝트는 하나 이상의 브랜치를 가지고 있으며 각각의 브랜치는 다른 브랜치의 영향을 받지 않기에 여러 작업을 동시에 진행하고 나중에 다른 브랜치와 병합할 수 있다. 브랜치의 종류 브랜치는 조직, 개인 업무에 따라서 다양하게 구분되지만 크게 통합브랜치와 토픽브랜치로 나눌 수 있다. 통합 브랜치 : 배포되는 버전을 만드는 브랜치, 그렇기에 통합 브랜치가 가리키는 버전은 버그가 없고 모든 기능이 정상적으로 동작해야한다. 토픽 브랜치 : 토픽 브랜치는 버그 수정, 기능 추가 같은 단위 작업을 위한 브랜치이다. 협업을 할 때는 프로젝트 내에서 여러 작업이 동시에 진행되는데 이때 통합 브..

CM/Git

Git 원리 (add,commit,status)

Git 원리 git의 명령어는 어떻게 동작할까. git 분석을 위해 gistory 파이썬 패키지를 사용한다. https://pypi.org/project/gistory/ gistory Tracking your .git changed history pypi.org Git add 원리 프로젝트에 ABC.txt 파일과 test.txt 파일이 있다. ABC 파일은 Tracked 상태이며 test.txt은 UnTracked 상태이다. 이 상태에서 git add test.txt 명령을 수행하면 다음의 일들이 벌어진다. test.txt의 오브젝트 파일 생성, git의 모든 오브젝트 파일의 이름은 파일 내용의 해시 값으로 저장된다. 즉 git은 내용이 같은 오브젝트 파일을 중복 저장하지 않는 내부 매커니즘을 가지고 있..

CM/Git

Git 기초

Git 버전 관리 시스템으로 DVSC(분산 버전 관리 시스템)에 속한다. 로컬 저장소는 서버 저장소의 히스토리를 전부 복사하며 서버 저장소에 문제가 생기면 로컬 저장소로 언제든 복원 가능하다. Git의 특징 각 버전을 스냅샷으로 저장해 보관 Git은 오직 데이터를 추가 한번 커밋되어진 파일을 삭제할 수 있는 방법이 없다. → 데이터를 잃어버릴 수 없다. 거의 모든 명령을 로컬에서 진행 CVSC(중앙집중식 버전 관리 시스템)에서는 네트워크 속도에 영향을 받지만 git은 로컬 저장소에 모든 히스토리, 버전이 있기에 서버에 접근할 일이 거의 없어 대부분의 명령을 로컬에서 실행 → 속도가 빠름 오브젝트 파일을 해시 값으로 저장 Git의 세가지 단계 git directory(Repository) 프로젝트의 메타데..

gunjoon98
'CM' 카테고리의 글 목록