Git은 '버전을 관리해주는 강력한 도구'다.
하나의 맥락 속에서 버전을 관리할 수 있는 것이다.
Git을 이용하면 원하는 버전으로 언제든지 돌아올 수 있다.
Git에서 버전의 단위를 말한다. 지금 상태를 스냅샷(snap shot)으로 기록한다.
커밋을 통해 코드를 개발 시점별로 확인할 수 있을 것같다.
터미널 명령어를 통해 git을 초기화 해보고 파일을 추가해보고, commit해본다.
1. cd desktop // desktop에 접근
2. mkdir folder // 해당 경로에 folder라는 이름의 폴더 생성
3. cd folder // 'folder'라는 이름의 폴더에 접근
4. git init // git 파일만들고 초기화하기
5. touch test.txt // 'test.txt'라는 텍스트 파일 만들기
6. git add test.txt // Staging Area에 add 하기
7. git commit -m "test.txt 파일 추가" // commit 하기
8. git log // 커밋이 되었는지 확인하기
Git에서 버전을 가지치기할때 사용되는 유용한 개념
- 여러 사람이 동시에 작업할 수 있으며, 다양한 시도를 해볼 수 있게 해준다.
Git 과 Branch를 게임 형태로 재밌게 학습하게 해주는 사이트
- 브랜치 만들기
git branch 이름- 브랜치 확인하기
git branch- 브랜치 이동하기
git switch 이름- 브랜치 새로만들고 + 이동하기
git checkout -b 이름- 병합하기 (현재 branch에 다른 branch 병합하기)
git merge 이름- 커밋
git commit- 재배치하기 (업스트림 변경 사항을 로컬 리포지토리에 통합함)
git rebase- 커밋의 부모 찾기 (^)
main^ = 'main'의 부모
main^^ = 'main'의 조부모
HEAD도 상대참조를 위해 사용 가능 ex) git checkout HEAD^- 커밋트리 여러 칸 올라가기 (~)
git checkout HEAD~4 : 4칸 부모로 올라감- (-f)를 이용하면 특정 커밋에 강제로 재지정가능
git branch -f main HEAD~3 : main 브랜치를 3칸 뒤로 강제로 옮김
git branch -f main c6 : main 브랜치를 c6으로 옮김- 리셋 : 예전의 커밋을 가리키도록 이동시킴
git reset HEAD~1 : 현재가리키던 커밋을 없애고 부모 커밋으로 옮김- 리버트 : 변경분을 되돌리고 다른 사람들과 공유하기 위해 씀
git revert HEAD : 새로운 커밋에 변경내용이 기록됨