사용자 도구

사이트 도구


git

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
git [2019/08/16 15:02]
kwon37xi
git [2020/08/04 22:27]
kwon37xi [libsecret 기반 credential]
줄 2: 줄 2:
   * http://git-scm.com/   * http://git-scm.com/
   * [[git:cheatsheet|Git Cheatsheet]]   * [[git:cheatsheet|Git Cheatsheet]]
 +
 +===== Ubuntu 최신 버전 install =====
 +  * [[https://itsfoss.com/install-git-ubuntu/|How to Install the Latest Git Version on Ubuntu]]
 +  * [[https://launchpad.net/~git-core/+archive/ubuntu/ppa|git-core/ppa]]
 +<code sh>
 +sudo add-apt-repository ppa:git-core/ppa
 +sudo apt update
 +sudo apt install git
 +</code>
  
 ===== Client 설정 ===== ===== Client 설정 =====
줄 15: 줄 24:
 git config --global core.filemode false git config --global core.filemode false
  
-# Mac OS X 유니코드 문제 +# Mac OS X 유니코드 문제? 아직도 발생하나? 
-git config --global core.precomposeunicode true +git config --global core.precomposeunicode true 
  
 </code> </code>
줄 37: 줄 46:
   name = KwonNamSon   name = KwonNamSon
 </code> </code>
 +  * **includeIf 는 맨 마지막에 두는 것이 좋다.** 이 이후에 나오는 설정은 ''includeIf''에 있는 설정을 덮어쓴다.
 ===== Ubuntu Git 최신 버전 ===== ===== Ubuntu Git 최신 버전 =====
   * https://launchpad.net/~git-core/+archive/ubuntu/ppa<code sh>   * https://launchpad.net/~git-core/+archive/ubuntu/ppa<code sh>
줄 57: 줄 66:
 </code> </code>
  
-===== Password with Gnome-Keyring  ===== +===== libsecret 기반 gnome-keyring credential ===== 
-  * [[http://blog.iqandreas.com/git/storing-https-authentication-in-ubuntu-and-arch-linux/|GIT: Storing HTTPS Authentication in Ubuntu (and Arch Linux) The Programming Blog of Andreas Renberg (IQAndreas)]]<code sh> +  * [[https://www.softwaredeveloper.blog/git-credential-storage-libsecret|Libsecret remember Git credentials in Linux Mint and Ubuntu securely]] 
-# on Ubuntu +  * [[https://stackoverflow.com/a/40312117/1051402|libsecret 기반 git credential]] 
-sudo apt-get install libgnome-keyring-dev +  * ''gnome-keyring'' 등에 직접 의존하지 않고 중간 단계인 ''libsecret'' 을 거쳐 ''gnome-keyring''을 사용한다. 
-sudo make --directory=/usr/share/doc/git/contrib/credential/gnome-keyring +  * [[https://wiki.gnome.org/Projects/Libsecret|Projects/Libsecret GNOME Wiki!]] 
-git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring+<code sh> 
 +sudo apt-get install libsecret-1-0 libsecret-1-dev 
 +cd /usr/share/doc/git/contrib/credential/libsecret 
 +sudo make 
 +git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
 </code> </code>
  
 +===== Password with Gnome-Keyring  =====
 +  * deprecated.
 +  * 사용하지 말 것. ''libsecret'' 기반으로 ''gnome-keyring''과 연동한다.
 +  * [[http://blog.iqandreas.com/git/storing-https-authentication-in-ubuntu-and-arch-linux/|GIT: Storing HTTPS Authentication in Ubuntu (and Arch Linux) - The Programming Blog of Andreas Renberg (IQAndreas)]]
 +
 +===== Password with kde  =====
 +  * [[https://www.shawnwang.net/1019.html|Git – How to avoid typing your password repeatedly – Shawn's Blog]]
 +  * [[https://wiki.archlinux.org/index.php/KDE_Wallet|kde wallet]]
 ===== Windows ===== ===== Windows =====
   * [[https://github.com/Microsoft/Git-Credential-Manager-for-Windows|Git credential manager for windows]]   * [[https://github.com/Microsoft/Git-Credential-Manager-for-Windows|Git credential manager for windows]]
줄 133: 줄 154:
 ===== Git hook ===== ===== Git hook =====
   * 기본적으로는 ''projectdir/.git/hooks''에 후킹 파일을 둔다.   * 기본적으로는 ''projectdir/.git/hooks''에 후킹 파일을 둔다.
 +  * 2.9 부터는 ''projectdir/.githooks'' 에 후킹 스크립트를 넣는다.
   * 전역 Hook 파일 설정 (git 2.9+)<code sh>   * 전역 Hook 파일 설정 (git 2.9+)<code sh>
 git config --global core.hooksPath /path/to/my/centralized/hooks git config --global core.hooksPath /path/to/my/centralized/hooks
 </code> </code>
 +  * [[https://git-scm.com/book/ko/v2/Git%EB%A7%9E%EC%B6%A4-Git-Hooks|Git Hooks]]
  
 ===== Commit Template ===== ===== Commit Template =====
줄 188: 줄 211:
 export PS1="\[\033[01;32m\][\[\033[01;33m\]\u\[\033[01;36m\]@\[\033[01;31m\]\h\[\033[01;37m\]:\[\033[01;34m\]\w\[\033[01;32m\]\$(__git_ps1)]\[\033[01;35m\]\\$\[\033[00m\] " export PS1="\[\033[01;32m\][\[\033[01;33m\]\u\[\033[01;36m\]@\[\033[01;31m\]\h\[\033[01;37m\]:\[\033[01;34m\]\w\[\033[01;32m\]\$(__git_ps1)]\[\033[01;35m\]\\$\[\033[00m\] "
  
 +</code>
 +
 +===== bash auto completion =====
 +  * 대부분의 리눅스는 git 을 설치하면 이미 bash-completion 설정 파일을 함께 설치한다.<code sh>
 +source /etc/bash_completion.d/git
 +# or
 +source /usr/share/bash-completion/completions/git
 +</code>
 +  * [[https://github.com/bobthecow/git-flow-completion/wiki/Install-Bash-git-completion|Install Bash git completion · bobthecow/git-flow-completion Wiki]]
 +  * Arch/Manjaro <code>
 +sudo pacman -S git bash-completion
 +# shell 재실행
 </code> </code>
  
줄 267: 줄 302:
   * [[https://johngrib.github.io/wiki/git-alias/|편리한 git alias 설정하기 - 기계인간 John Grib]]   * [[https://johngrib.github.io/wiki/git-alias/|편리한 git alias 설정하기 - 기계인간 John Grib]]
   * [[https://blog.ull.im/engineering/2019/03/10/logs-on-git.html|좋은 git commit 메시지를 위한 영어 사전]]   * [[https://blog.ull.im/engineering/2019/03/10/logs-on-git.html|좋은 git commit 메시지를 위한 영어 사전]]
 +  * [[https://www.javacodegeeks.com/2019/10/git-essentials-crash-course.html|Git Essentials Crash Course | Java Code Geeks - 2019]]
 +  * [[https://github.com/mingrammer/git-tips|Git Tips]]
git.txt · 마지막으로 수정됨: 2023/10/14 13:47 저자 kwon37xi