Repository files navigation
해당 디렉토리를 깃 저장소로 지정, .git 디렉토리 생성됨
.gitignore에 있는 이름의 파일들은 git이 추적하지 않음
staging 된 파일을 내림
add 목록에서 삭제 (물리적 삭제 아님)
변경 분리 : 모든 파일 커밋하는게 아니라 커밋할 변경 사항을 세밀하게 선택 가능
커밋 준비 : 변경 사항 검토, 여러 변경 사항을 하나의 커밋으로 묶거나 여러 커밋으로 나누어 관리 가능
변경사항 확인 : git diff --cached 명령어로 파일의 변경 사항 확인 가능
커밋 때 생성된 해시값으로 전체 파일들을 추적할 수 있음
git cat-file -p 해시값 명령어로 경로, 파일 내용도 확인 가능
-p 는 pretty 옵션 (좀 더 보기좋게 해줌)
커밋을 다시하는 경우 새로 만들어진 파일, 변경된 부분에 대해서만 해시값이 변경됨
Hello.java를 복사한 Hi.java의 경우 데이터가 완전 동일하기 때문에 해시값도 동일
-: 하이픈 하나일 경우 뒤에 약자가 옴, 조합 가능 (rm -r + rm -f = rm -rf)
-- : 하이픈 두개의 경우 길게 단어가 옴 (git rm --cached ~~)
무엇을 했는지가 아니라 무엇을 할 것인지를 설명해야함 (Fixed 대신 Fix, Added 대신 Add)
파일을 복사하는 명령어
cp Hello.java Hi.java (Hello.java를 복사해서 Hi.java 파일을 생성)
git reset 옵션 : git database는 delete, update가 없다
git reset --soft 돌아갈 커밋의 해시값, staging된 내용은 유지됨
git reset --mixed 돌아갈 커밋의 해시값, 변경된 내용이 Unstaged 됨
git reset --hard 돌아갈 커밋의 해시값, 완전하게 선택한 커밋으로 돌아감, 파일, 디렉토리 등도 물리적으로 삭제됨
해당 명령어를 사용하면 현재 저장소의 HEAD가 이전에 가리켰던 커밋의 로그를 볼 수 있음
해당 로그에 남아있는 해시값으로 reset하면 복구가 가능하다.
여기에도 없으면 복구 불가
git diff 해시값 해시값 : 두 커밋의 차이점 확인
git diff --staged : 현재 로컬과 스테이징 된 데이터 차이점 확인
git restore 파일명 : 작업 디렉토리의 변경 사항 복원
git restore --staged 파일명 : 스테이징 된 변경사항 취소
git restore --source=커밋해시또는브랜치 파일명 : 특정 커밋이나 브랜치의 상태로 파일 복원
생성 : git switch -c blog-create (blog-create 라는 브랜치 생성)
확인 : git branch (생성되어있는 브랜치 및 현재 브랜치 확인)
특정 시점에서 생성 : git branch 브랜치명 시작지점해시값 (원하는 시점에서 브랜치 생성 가능)
삭제 : git branch -d 브랜치명 (삭제, 병합된 경우에만, -D 대문자의 경우 강제 삭제)
git merge 합칠브랜치명
같은 파일을 두 브랜치 모두 변경했으면 충돌할 수 있음
You can’t perform that action at this time.