문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
git [2020/10/10 17:24] kwon37xi [diff & difftool] |
git [2023/10/14 13:47] (현재) kwon37xi |
||
|---|---|---|---|
| 줄 3: | 줄 3: | ||
| * [[git: | * [[git: | ||
| * [[git: | * [[git: | ||
| + | * [[https:// | ||
| ===== Ubuntu 최신 버전 install ===== | ===== Ubuntu 최신 버전 install ===== | ||
| 줄 66: | 줄 67: | ||
| ===== Git Diff/Merge -> kdiff3 ===== | ===== Git Diff/Merge -> kdiff3 ===== | ||
| * [[https:// | * [[https:// | ||
| - | * 잘 작동 안함. | + | * 파일 삭제 diff시에 |
| + | * https:// | ||
| < | < | ||
| [diff] | [diff] | ||
| 줄 116: | 줄 118: | ||
| ===== Git Diff -> vimdiff ===== | ===== Git Diff -> vimdiff ===== | ||
| + | * [[vim: | ||
| * [[http:// | * [[http:// | ||
| * '' | * '' | ||
| 줄 129: | 줄 132: | ||
| * 설정의 external 무시하고 vim을 pager로< | * 설정의 external 무시하고 vim을 pager로< | ||
| git diff --no-ext-diff -w | vim -R - | git diff --no-ext-diff -w | vim -R - | ||
| + | </ | ||
| + | * 그냥 명령을 직접 주기< | ||
| + | git diff -y -t vimdiff | ||
| + | # -y 는 no prompt | ||
| </ | </ | ||
| ===== .gitignore ===== | ===== .gitignore ===== | ||
| 줄 154: | 줄 161: | ||
| </ | </ | ||
| - | ===== Git hook ===== | ||
| - | * 기본적으로는 '' | ||
| - | * 2.9 부터는 '' | ||
| - | * 전역 Hook 파일 설정 (git 2.9+)< | ||
| - | git config --global core.hooksPath / | ||
| - | </ | ||
| - | * [[https:// | ||
| ===== Commit Template ===== | ===== Commit Template ===== | ||
| 줄 253: | 줄 253: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| - | * [[http:// | + | * [[git:tig|tig]] 콘솔 기반 리포지토리 브라우저 |
| * [[https:// | * [[https:// | ||
| * [[http:// | * [[http:// | ||
| 줄 260: | 줄 260: | ||
| * [[http:// | * [[http:// | ||
| * [[http:// | * [[http:// | ||
| + | * [[https:// | ||
| ===== 빈 디렉토리 (empty directory) 유지 ===== | ===== 빈 디렉토리 (empty directory) 유지 ===== | ||
| 줄 276: | 줄 277: | ||
| * commit 한다. | * commit 한다. | ||
| + | ===== shallow update not allowed ===== | ||
| + | * '' | ||
| + | * [[https:// | ||
| + | |||
| + | <code sh> | ||
| + | git fetch --unshallow origin | ||
| + | |||
| + | # 이후에 | ||
| + | git push | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== git blame ignore ===== | ||
| + | * [[https:// | ||
| + | * bulk 갱신, 포맷팅 변경 같은 경우 blame 에 자꾸 나오면 오히려 불편함. 특정 commit 을 blame에서 제외하기 | ||
| + | * [[https:// | ||
| + | |||
| + | ===== submodules ===== | ||
| + | * git 에서 다른 리포지토리를 디렉토리로 링크할 수 있음. | ||
| + | * https:// | ||
| + | * submodule 이 있는 리포지토리를 올바로 clone 하려면 '' | ||
| + | |||
| + | <code sh> | ||
| + | git clone --recursive < | ||
| + | </ | ||
| ===== 문제 해결 ===== | ===== 문제 해결 ===== | ||
| 줄 306: | 줄 332: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||