public:computer:git

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
public:computer:git [2021/08/23 16:32] alexpublic:computer:git [2022/08/26 15:05] (current) – [Git 사용법 정리] alex
Line 1: Line 1:
 ====== Using git ====== ====== Using git ======
 +
 +
 +^  git 자주 사용하는 명령어 모음  ^^
 +^ 깃 초기화  | git init 경로명  |
 +^ 깃 상태 확인  | git status  |
 +^ 깃 저장소 복제  | git clone 원격저장소URL 새폴더이름  |
 +^ 파일 등록과 커밋  | git add 파일이름 -> git commit -> 에디터에서 커밋 메시지 작성  |
 +^ ::: | git commit -a -> 에디터에서 커밋 메시지 작성  |
 +^ ::: | git commit -am "커밋 메시지"  |
 +^ 로그 확인  | git log  |
 +^ 커밋 비교  | git diff  |
 +^ 원격 저장소 별칭 확인  | git remote  |
 +^ 원격 저장소 별칭과 URL 확인  | git remote -v  |
 +^ 원격 저장소와 연결  | git remote add 원격저장소별칭 원격저장소URL  |
 +^ 원격 서버 삭제  | git remote rm 원격저장소별칭  |
 +^ 커밋 가져오기  | git pull 또는 git fetch  |
 +^ 커밋 전송하기  | git push 원격저장소별칭 브랜치이름  |
 +^ 현재 브랜치 확인  | git branch  |
 +^ 브랜치 생성  | git branch 브랜치이름  |
 +^ 브랜치 이동  | git checkout 브랜치이름  |
 +^ 스태시 저장  | git stash  |
 +^ 스태시 읽기  | git stash pop  |
 +^ 브랜치 병합  | git merge 브랜치이름  |
 +^ 리베이스 병합  | git rebase 브랜치이름  |
 +^ 리셋  | git reset 옵션 커밋ID  |
 +^ 리버트 취소 커밋  | git revert 커밋위치  |
 +^ 태그 관리  | git tag  |
 +^ 태그 전송  | git push 원격저장소별칭 태그이름  |
 +^ 서브모듈로 연결  | git submodule add 원격저장소URL 폴더이름  |
 +
  
 ===== why git? ===== ===== why git? =====
Line 336: Line 366:
  
 ===== Etc ===== ===== Etc =====
 +  * refs, reflog
 +  * file annotation; blame, 
 +  * replace; 기존 커밋을 다른 커밋인 것처럼 변경
 +  * garbage collect; 연결고리가 없는 고립된 객체들, 주로 리셋/리베이스 등을 자주할 때 발생
 +  * prune
 +  * rerere(reuse recorded resolution); 어떤 문제로 충돌이 발생할 때 이를 기록
 +
 <cli prompt="$ " comment="  # "> <cli prompt="$ " comment="  # ">
-$+git rev-parse 브랜치이름  # 브랜치이름의 해시값 확인 
 +$ git show 해시값 
 + 
 +$ ls .git/refs -all  # 저장소 refs 파일 목록 
 + 
 +$ git reflog  # reflog, 시스템에서 정의한 며칠 간의 기록만 보관 
 + 
 +$ git blame 파일이름  # 누가 코드의 어느 라인을 수정했는지 파악할 때 유용 
 +$ git blame -L 시작줄,마지막줄 파일이름. -e: 사용자 이름 대신 이메일 출력, -w: 공백 문자 무시, -M: 같은 파일 내에서 복사나 이동 감지, -C: 다른 파일에서 이동이나 복사된 것을 감지 
 + 
 +$ git replace 커밋ID1 커밋ID2  # 커밋ID1 -> 커밋ID2 연결 
 + 
 +$ git gc --auto   
 + 
 +$ git prune --dry-run --verbose  # 객체 삭제, --dry-run: 실행하지 않고 작업할 내역만 출력, --verbose: 작업한 결과 출력 
 +$ git reflog expire --expire=now  --expire-unreachable-now --all  # reflog 삭제 
 +$ git prune --expire now -v  # 객체 삭제 실행 
 + 
 +$ git remote prune  # 원격 저장소의 브랜치를 병합한 후 삭제, 삭제된 원격 저장소 브랜치는 더이상 참조할 수 없다 
 +$ git fetch --prune  # 오래된 브랜치 정리 
 + 
 +$ git config rerere.enabled true  # rerere 기능 사용, --global 옵션 가능 
 +$ git rerere status  # 상태 
 </cli> </cli>
  
Line 469: Line 529:
 references references
 </cli> </cli>
-pro git 한글판 http://git-scm.com/book/ko/ +  * pro git 한글판 http://git-scm.com/book/ko/ 
-git 간편안내서 http://rogerdudler.github.io/git-guide/index.ko.html +  git 간편안내서 http://rogerdudler.github.io/git-guide/index.ko.html 
  
 +  * [[https://shanepark.tistory.com/214|Sourcetree 에서 잘못된 비밀번호로 저장소 접근 안될때 해결방법]]
 +  * [[https://zi-c.tistory.com/entry/Sourcetree%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-git-merge-commit-conflict-%EC%B6%A9%EB%8F%8C-%ED%95%B4%EA%B2%B0|Sourcetree를 활용한 git merge commit conflict 충돌 해결]]
 +  * [[https://gitabout.com/8|Git commit 되돌리기 명령어 Reset 과 Revert]]
 +  * [[https://github.com/k88hudson/git-flight-rules|Flight rules for Git]]
 +  * [[https://velog.io/@u-nij/Git-Flow-Commit-message-Issue-%EC%9D%B4%EC%9A%A9%ED%95%B4%EC%84%9C-%ED%98%91%EC%97%85%ED%95%98%EA%B8%B0|Git-Flow & Commit message & Issue 이용해서 협업하기]]
 +  * [[https://hyeonic.tistory.com/181|[git, github] git issue 생성 및 작성 방법 (1)]]
  
  • public/computer/git.1629703965.txt.gz
  • Last modified: 2021/08/23 16:32
  • by alex