
“버전 관리” 는 무엇이고 우리는 왜 이것을 알아야 할까? 버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다.
VCS로 이미지나 레이아웃의 버전(변경 이력 혹은 수정 내용)을 관리하는 것은 매우 현명하다. VCS를 사용하면 각 파일을 이전 상태로 되돌릴 수 있고, 프로젝트를 통째로 이전 상태로 되돌릴 수 있고, 시간에 따라 수정 내용을 비교해 볼 수 있고, 누가 문제를 일으켰는지도 추적할 수 있고, 누가 언제 만들어낸 이슈인지도 알 수 있다. VCS를 사용하면 파일을 잃어버리거나 잘못 고쳤을 때도 쉽게 복구할 수 있다. 이런 모든 장점을 큰 노력 없이 이용할 수 있다.
버전 관리 시스템 즉, VCS(Version Control System)
LVCS(로컬 버전 관리) -> CVCS(중앙집중식 버전 관리) -> DVCS(분산형 버전관리)의 과정을 거쳤다.
- LVCS
- CVCS
- DVCS
CVCS와 달리 DVCS는 버전관리 데이터베이스까지 가지고 있다
git 코드는 아래 3단계에서 존재한다.
workingDirectory
stageArea (workingDirectory에서 git add)
.git directory(repository)(git commit)
$ mkdir -p project/first-git
$ git init
$ git status
$ git add
$ git rm --cached README.md
$ git remote add origin
$ git commit
$ git log
$ git log -p -i
$ commit -m "~"
$ git reset HEAD ~
$ git restore —staged ~
$ git reset -soft
$ git reset -hard
$ git reset -mixed
–soft 안사라진 상태 , stage에 올라가있는 상태, 즉
–hard 내용이 사라지게 만듬, unstage에 있음
–mixed Git의 스테이징 영역(인덱스)은 변경되지만, 실제로 작업 디렉토리에 있는 파일들은 수정 안됨
stage와 branch와 관계없음
commit은 branch에 따라 실행됨
$ git checkout ~
$ git log –decorate –graph
$ git checkout -b
$ git push -u origin main
$ git commit -am "~"
$ fork remote->remote
$ clone remote->local
-git merge와 git rebase의 차이
새로운 커밋을 만들고 담김 ←→ 원래 커밋내역에 끼워넣음
$ git config --global init.defaultBranch main
$ git branch -M main
git rm 파일명
git commit -m 커밋 메세지 : 지운 다음에도 반드시 커밋 해줘야 한다
(그냥 repository에서 파일 선택 - 휴지통 - 커밋 체인지 해주면 됨)
git rm —cached 파일명
git commit -m 커밋 메세지 : 얘도 지우고 반드시 커밋
git 텍스트 에디터는 vim, nano, notepad 등이 있다.
.gitignore파일: 컴퓨터 로컬정보나 버전관리파일 등을 git add . 시 무시하게 도와주는 파일
git flow
이런 유용한 정보를 나눠주셔서 감사합니다.