실제로 사용자가 작업을 수행하는 디렉토리 공간을 지칭저장소에 commit 하기 전, 파일 상태를 기록(stage, 스테이징)하는 공간git add, git rm, git checkout 등으로 commit 하기 전 자유롭게 상태를 조정git status 명령어로 com
branch 생성, 조회, 삭제, prune 등
저장소 생성 git init Index 관련 git add index 에 파일 추가, 변경사항 적용 ` git rm index 에 파일을 삭제하도록 상태 정보 갱신 ` git status index에 저장된 상태(stage) 정보를 조회 commit 될 내
ex) 'targetbranch' 를 masterbranch 에 merge 한다고 할 때 branch 이동 ` merge 수행 ` conflict 발생시 각 파일별 충돌 내용 수정 후 commit
local index 변경사항 되돌리기 git add 로 local index 에 추가한 내용을 되돌리기 새로 추가된 파일이라면 Untracked files 로, 수정된 파일이라면 Changes not staged for commit 으로 처리됨 수정한 내용
tag 에는 Annotated tag와 Lightweight tag 가 존재Lightweight : 특정 commit 을 가리키는 용도Annotated : tag 생성자, 이메일, 날짜, 메시지 저장GPG(GNU Privacy Guard) 로 서명도 가능\-s 옵션으로
파일 내 특정 범위를 지정하여 git log를 조회하는 방법git 1.8.4 버전부터 사용 가능 git log -L {첫라인}:{끝라인 or 추가라인수}:{파일명}ex)git log -L 10:+20:test.log : test.log의 10라인부터 20줄ex)git
현재 branch 와 다른 branch 도 이 방법으로 fast-forward 시킬 수 있음git fetch {remote} {remote_branch}:{local_branch}
\-n, --dry-run : 삭제 전 삭제 예정 파일들 조회\-f, --force : 강제로 삭제\-d : untracked directory 삭제\-x : ignore 룰을 무시\-e <pattern>, --exclude=<pattern> : 패턴에 해당
다른 브랜치에 있는 특정 커밋들만 현재 브랜치에 적용하고 싶은 경우 사용git cherry-pick \[commit_hash1] \[commit_hash2] ...git cherry-pick \[commit_hash1] \[commit_hash2]git cherry-p
local 의 가장 최근의 commit 수정 local의 commit message 수정 n 자리에 숫자로 몇번째 커밋까지 확인할 것인지 지정 reference Github Docs
윈도우 API의 파일 경로 길이가 260자 제한을 가지기 때문에 발생하는 이슈관리자 권한으로 아래와 같이 설정하여 해결
git log --all -- <file경로>
git config --global --edit git commit --amend --reset-author
.gitlab/issue_templates/ 하의 md 파일은 모두 issue 템플릿으로 사용.gitlab/merge_request_templates/ 디렉토리 하위 md 파일은 mr 템플릿으로 사용
이미지 url or 프로젝트 이미지로 표시하기
core.quotepath 옵션 설정과 -z 옵션을 이용하는 방법
git 프로젝트를 다른 repository 로 이관하는 방식