기록되지 않은 아이디어는 실행되지도 않는다. 이는 기록의 중요성을 함축적으로 표현이에 나온 것이 버전 관리다. 소스코드 관리를 위하여 팀 단위로 개발 중인 소스 코드나, 청사진 같은 설계도 등의 디지털 문서를 관리한다.버전을 통해서 시간적으로 변경사항과 작업자를 추적자
https://git-scm.com/git에서 무시하겠다라는 뜻 --> git에서 관리하기 싫은 파일을 관리https://git-scm.com/docs/gitignorehttps://www.toptal.com/developers/gitigno
학습할 폴더 GitRepo 폴더 생성 후 터미널에서 해당 위치로 이동로컬 저장소 생성위 코드 실행 시 하나의 빈 로컬 저장소 생성git init 실행 시 기본적으로 master Or main 이라는 브랜치가 생성git 저장소 확인ls -al 실행 시 .git이라는 폴더
Log \- 저장소의 수정 사항을 검토 \- 로컬 저장소에서 현재 체크아웃한 브랜치의 모든 커밋 메시지와 정보를 확인저장소 히스토리 보기 \- 저장소 커밋 메시지의 모든 히스토리를 시간 역순으로 보기 지정괸 수만큼 로그를 출력한 줄로 메시지 보기커밋의 diff
Tag: 특정항 커밋을 찾아내기 위해 사용 (책갈피)일반적으로 태그는 전환점이 되는 커밋, 브랜치로 분기할 때, 버전업이 될 때 등 의미 있는 사건이 발생 시 태그모든 태그 목록 보기태그가 적용된 커밋의 상세 정보 보기태그 이름은 문자열로 정렬이 된다. 태그 설정 시간
브랜치브랜치는 저장소의 새로운 분할브랜치 확인로컬 브랜치 목록 출력git branch -list모든 브랜치 목록git branch --all새로운 브랜치 생성git branch git checkout 새로운 브랜치 생성 및 체크 아웃git checkout -b git
Reset돌아가려는 커밋으로 리파지토리는 재설정되고, 해당 커밋 이후의 이력은 사라짐hard되돌린 이력 이후의 내용은 지워짐INDEX 취소, ADD 하기 전 상태 (UNSTAGED 상태)작업영역의 파일 삭제 (모두 취소)soft되돌린 이력 이후의 내용은 보존해당 내용
Revert돌아가려는 커밋으로 리파지토리는 재설정되고, 해당 커밋 이후의 이력은 유지되며 새로운 커밋이 만들어짐한 단계 이전으로 롤백수정하기 이전 상태로 되돌리기checkout은 브랜치를 변경하는데 사용되나 변경된 파일을 되돌리는데도 사용 commit 이력은 남아있다
git-remote-Manage set of tracked repositoyuAdds a remote name <name> for the repository at <url>원격 저장소원격 저장소 목록 보기원격 저장소 갱신원격에서 삭제된 브랜치 업데이트원격 저
reflog예를 들어 실수로 git reset --hard를 진행 했을 때 최신 Hash를 알 수 없다면 다시 되돌아 갈 수 없다. 이 때 git reflog 명령으로 hash 추적이 가능HEAD가 참조했던 commit들이 시간 역순으로 정렬HEAD 참조 값HEAD@{