#title Git & Tip [[TableOfContents]] == ì¼ë°˜ == ==== 알아ë‘ë©´ ì¢‹ì€ ê¸°ëŠ¥ ==== ===== alias g='git' ===== ===== stashing ===== 현재 브랜치ì—ì„œ ìž‘ì—…ì¤‘ì¸ ë‚´ìš©ì„ ìž„ì‹œë¡œ ì €ìž¥í•˜ê³ ë‹¤ë¥¸ 브랜치로 ì´ë™í• ë•Œ 사용한다. ===== blame ===== íŒŒì¼ ë¼ì¸ 단위로 누가 마지막으로 ìˆ˜ì •í–ˆëŠ”ì§€ 보여준다. http://git-scm.com/docs/git-blame ==== ìž‘ì—…ì˜ ì·¨ì†Œ ==== http://www.evernote.com/l/AMKuBFPL-uZItrAAGvEbqooTf52dvpkR1rQ/ ==== pushì˜ ì·¨ì†Œ ==== http://whiteship.me/?p=13516 ==== commit 메시지 ìˆ˜ì • ==== ===== 마지막 ì»¤ë°‹ì„ ìˆ˜ì •í•˜ê¸° ===== [[Code($ git commit --amend)]] 마지막 ì»¤ë°‹ì„ ìˆ˜ì •í•˜ëŠ” ë°©ë²•ì€ ë§¤ìš° 간단하다. ì´ ëª…ë ¹ìœ¼ë¡œ í…스트 편집기가 ì—´ë¦¬ê³ ë©”ì‹œì§€ë¥¼ ìˆ˜ì •í•˜ë©´ ëœë‹¤. ===== 커밋 메시지를 여러 ê°œ ìˆ˜ì •í•˜ê¸° ===== 예를 들어 마지막 3ë²ˆì§¸ì— ìžˆëŠ” 커밋 로그를 ìˆ˜ì •í•˜ê³ ì‹¶ë‹¤ë©´ rebase -i를 사용해서 ìˆ˜ì •í•´ì•¼ 한다. 주ì˜í• ì ì€ ì´ë¯¸ ì„œë²„ì— pushëœ ì»¤ë°‹ì€ SHA-1 ê°’ì´ ë°”ë€Œê¸° ë•Œë¬¸ì— ê°€ëŠ¥í•˜ë©´ ìˆ˜ì •í•˜ì§€ ë§ì•„야 한다. 만약 rebaseì— ìµìˆ™í•˜ì§€ 않다면 다ìŒì„ ì£¼ì˜ ê¹Šê²Œ ë´ì•¼ 한다. https://git-scm.com/book/ko/v1/Git-%EB%8F%84%EA%B5%AC-%ED%9E%88%EC%8A%A4%ED%86%A0%EB%A6%AC-%EB%8B%A8%EC%9E%A5%ED%95%98%EA%B8%B0 [[Code($ git rebase -i HEAD~3)]] í…스트 편집기가 열리면 ë‹¤ìŒ ê°™ì€ ì»¤ë°‹ 목ë¡ì´ 첨부ë˜ì–´ 있다. {{{ pick ... pick ... pick ... }}} 여기서 커밋 ëª©ë¡ ìˆœì„œëŠ” ìœ„ìª½ì´ ì˜¤ëž˜ëœ ê²ƒì´ë‹¤. 마지막 3번째 커밋 메시지를 ìˆ˜ì •í•˜ë ¤ë©´ pickì„ editë¡œ ë³€ê²½í•˜ê³ ì €ìž¥ ë° ì¢…ë£Œí•œë‹¤. {{{ edit ... pick ... pick ... }}} ì €ìž¥í•˜ê³ íŽ¸ì§‘ê¸°ë¥¼ 종료하면 Gitì€ ëª©ë¡ì— 있는 커밋 중ì—ì„œ 가장 ì˜¤ëž˜ëœ ì»¤ë°‹ìœ¼ë¡œ ì´ë™í•˜ê³ , 아래와 ê°™ì´ ë‹¤ìŒì€ 어떻게 해야하는지 메시지를 보여준다. {{{ $ git rebase -i HEAD~3 Stopped at 7482e0d... updated the gemspec to hopefully work better You can amend the commit now, with git commit --amend Once you’re satisfied with your changes, run git rebase --continue }}} 마지막 커밋 메시지를 ë³€ê²½í–ˆì„ ë•Œì™€ ê°™ì´ [[code(git commit --amend)]] 으로 메시지를 ë³€ê²½í•˜ê³ [[code(git rebase --continue)]]ë¡œ rebase를 계ì†í•œë‹¤. ì´ê²ƒì„ 반복하면 ì–´ëŠ ìœ„ì¹˜ì˜ ì»¤ë°‹ ë©”ì‹œì§€ë„ ìˆ˜ì •í• ìˆ˜ 있다. 다시 ë§í•˜ì§€ë§Œ 주ì˜í• ì ì€ ì´ë¯¸ pushëœ ì»¤ë°‹ì€ SHA-1 ê°’ì´ ë°”ë€Œê¸° ë•Œë¬¸ì— ê°€ëŠ¥í•˜ë©´ ìˆ˜ì •í•˜ì§€ ë§ì•„야 한다. === diff 패치 ìƒì„± ë° ì ìš© === {{{ git diff --no-prefix > patchfile # 패치 ìƒì„± cd path/to/top/ # ì´ë™ patch -p0 < patchfile # ì ìš© }}} --no-prefix 옵션 ì—†ì´ ìƒì„±ëœ patch 파ì¼ì´ 있다면, {{{ patch -p1 < patchfile }}} == 기타 == === gitignore === ==== Visual Studio ==== https://github.com/github/gitignore/blob/master/VisualStudio.gitignore ---- CategoryDev