summ의 블로그

버전관리 시스템 본문

이것저것

버전관리 시스템

summ._ 2024. 9. 22. 00:00

240904

 

버전관리 시스템의 기능 

 

  • 버전을 만듦 

버전을 만든 걸 복제하여 백업하고 싶음 

  • 백업함 

이 백업한 코드를 사람들과 공유하며 코드를 주고받음 

  • 협업

 

버그 

 

버그가 존재할 때 버전관리를 하고 있는 사람과 하고 있지 않은 사람은 차이가 나기 마련이다. 

 

버전 관리를 하고 있지 않는 사람: 모든 코드를 전수조사 해야 함

버전 관리를 하고 있는 사람: 버그가 존재하지 않는 버전으로 계속하여 되돌아가 버그가 없는 버전을 찾음

버전 관리 = 문제 해결 능력↑

 

 

좋은 버전

 

버전이 최대한 작을수록 좋다. 

또한, 하나의 버전이 하나의 주제만을 최소한으로 담고 있어야 한다. 

 

각각의 버전이 무엇을 담고 있는지, 무슨 작업을 했는지 적절하게 기술되어 있어야 한다. 

 

 

git 

 

.git: repository 저장소 

 

working dir 에서  first.txt 를 stage area 로 add git add first.txt

stage area(index) 에서  first.txt 를 repo 로 commit 

repo 에 담긴  first.txt ==> version 1로 관리되며 hash값인 commit id 생성됨.

이 commit id를 이용하여 해당 커밋 상태로 돌아갈 수 있다.  

 

브랜치: repo 내의 독립적인 영역 

main 브랜치: repo 처음 생성 시 만들어지는 브랜치

main: 가장 마지막 버전을 참조하는 (가리키는) 개체

head: commit 을 가리키는 개체. main이나 commit을 가리킴 

 

working dir에서 파일 편집

git add 로 stage area. 

git commit하여 변경사항 local 저장소에 저장

git push 변경사항(로컬 commit)을 원격 저장소에 업로드 

 

버전관리

git checkout: head를 바꿈 (?) 시간 여행 가능

head는 working dir 버전

 

git pull:  원격 저장소에 업데이트된 내용을 로컬 저장소에 저장. 추가

full = fetch + merge 

fetch: 원격 저장소의 정보를 가져옴 

merge: 업데이트된 내용을 로컬 브랜치에 병합

git clone:  원격 저장소의 내용을 복제

 

 

아직도 잘 모르겠다.

'이것저것' 카테고리의 다른 글

jupyter notebook 번외  (0) 2024.09.05
하반기 마음가짐  (0) 2024.08.19
[빅데이터분석기사] 필기  (0) 2024.05.04
[정보처리기사 필기] 정보처리기사 필기  (1) 2024.03.26
[사조사 2급] 실기 후기  (0) 2023.11.28