.git
디렉토리.git
디렉토리 내용HEAD
파일HEAD
파일 : local의 HEAD가 가리키는 ★local★ 브랜치의 커밋 해시를 담은 '파일의 위치'가 저장된 파일$ cat ./git/HEAD
-> ref: refs/heads/master
$ cat ./git/HEAD
-> ref: refs/heads/mac
refs/head/master
$ git push origin HEAD:refs/heads/master
= git push origin master.git/config
파일.git.config
.git/config
$ git push origin HEAD:work
= $ git push origin HEAD:refs/heads/work
= $ git push origin HEAD:refs/for/work # gerrit 사용 시
.git/config
에 아래와 같이 입력[remote "work"] # gerrit 사용 기준
url = http://user@gerrit.domain.com/test
fetch = +refs/heads/*:refs/remotes/origin/*
push = refs/heads/work:refs/for/work
$ git push work
push
$ git push HEAD:refs/heads/master
$ git status <path>
$ git reset <OPTION>
$ git reset --soft HEAD^
명령어를 시전해보자.
$ git reset --soft HEAD^
$ git reset HEAD^
$ git reset HEAD^
$git add
하기 전 상태로 !!$ git reset --hard HEAD^
.gitignore
*.[oa] # 확장자 .o || .a 인 파일 무시
!lib.a # ! 는 '예외적으로 포함'한다는 뜻. 즉 lib.a는 추적함
*~ # '~' 로 끝나는 파일 무시
/build # 루트 디렉터리에 있는 build 파일은 무시, 하지만 'subdir/build' 같이 다른 폴더 내 /build 는 포함
build/ # build/ 디렉터리에 있는 '모든 파일' 무시
doc/*.txt # doc/*.txt 무시, 하지만 doc/subdir/*.txt 등은 포함