Git
Git - 명령어 / HELP
상상날개
2022. 8. 1. 16:09
1. Git 설정
로컬 레포지토리와 연결할 유저 정보를 설정합니다.
버전 히스토리를 식별할 때 사용할 이름을 설정한다
git config --global user.name "[firstname lastname]"
각 기록과 연결할 이메일 주소를 설정한다
git config --global user.email “[valid-email]”
2. 도움말 보기
- help 명령어를 이용하여 각 명령어 및 옵셥의 기능에 대해 살펴볼 수 있다
git에서 제공하는 모든 명령어를 볼 수 있다
git help -all
특정 command에서 사용할 수 있는 모든 옵션을 볼 수 있다
git [command] -help
These are common Git commands used in various situations: | 다양한 상황에서 사용되는 일반적인 Git 명령은 다음과 같다 |
start a working area (see also: git help tutorial) clone Clone a repository into a new directory init Create an empty Git repository or reinitialize an existing one work on the current change (see also: git help everyday) add Add file contents to the index mv Move or rename a file, a directory, or a symlink restore Restore working tree files rm Remove files from the working tree and from the index examine the history and state (see also: git help revisions) bisect Use binary search to find the commit that introduced a bug diff Show changes between commits, commit and working tree, etc grep Print lines matching a pattern log Show commit logs show Show various types of objects status Show the working tree status grow, mark and tweak your common history branch List, create, or delete branches commit Record changes to the repository merge Join two or more development histories together rebase Reapply commits on top of another base tip reset Reset current HEAD to the specified state switch Switch branches tag Create, list, delete or verify a tag object signed with GPG collaborate (see also: git help workflows) fetch Download objects and refs from another repository pull Fetch from and integrate with another repository or a local branch push Update remote refs along with associated objects |
작업 영역을 시작합니다(참조: git help tutorial 참조). clone 새 디렉터리에 리포지토리 복제 init 빈 Git 저장소를 만들거나 기존 Git 저장소를 다시 초기화합니다. 현재 변경 작업(매일 도움말 보기) add 추가 인덱스에 파일 내용 추가 mv 파일, 디렉터리 또는 심볼 링크 이동 또는 이름 변경 restore 복원작업 트리 파일 복원 rm 작업 트리와 인덱스에서 파일 제거 내역 및 상태 검사(Git help revices(도움말 수정) 참조) 이등분 버그를 발생시킨 커밋을 찾기 위해 이진 검색을 사용합니다. diff 커밋, 커밋 및 작업 트리 간 변경 사항 표시 등 grep 패턴과 일치하는 선 인쇄 log 커밋 로그 표시 show 다양한 개체 유형 표시 status 작업 트리 상태 표시 여러분의 공통의 역사를 성장시키고, 표시하고, 수정하세요. branch 분기 지점 목록, 생성 또는 삭제 commit 저장소에 변경 사항 기록 커밋 merge 두 개 이상의 개발 기록을 함께 결합 rebase 다른 기본 팁 위에 커밋 다시 적용 reset 현재 HEAD를 지정된 상태로 재설정합니다. switch 스위치 분기 전환 tag GPG로 서명된 태그 개체 생성, 나열, 삭제 또는 확인 공동 작업(참조: git 도움말 워크플로우) fetch 다른 리포지토리에서 다운로드 개체 및 참조 가져오기 pull 다른 리포지토리 또는 로컬 분기에서 가져오기 및 통합 push 관련 개체와 함께 원격 참조 업데이트 푸시 |
3. 세팅 및 초기화
- 레포지토리를 초가화하거나 존재하는 레포지토리를 클론할 수 있다
현재 디렉토리를 기준으로 Git 저장소가 생성된다
git init
URL을 통해 리모트 레포지토리를 로컬 레포지토리에 복제한다
git clone [url]
4. Stage & Commit
- 스테이지 영역을 이용하여 커밋할 수 있다
다음 커밋을 위해 현재 디렉토리에서 수정된 파일을 확인한다
git status
다음 커밋을 위해 파일을 추가(스테이지)한다 (stage)
git add [file]
추가한 파일을 언스테이징하고 변경 사항은 유지한다
git reset [file]
스테이지되지 않은 변경 사항을 보여준다
git diff
스테이지했지만 커밋하지 않은 변경 사항을 보여준다
git diff --staged
스테이지된 컨텐츠를 메시지와 함께 커밋한다 (스냅샷 생성)
git commit -m “[descriptive message]”
5. Branch & Merge
- 작업 내역을 브랜치로 분리해 컨텍스트를 변경, 통합한다
브랜치 목록을 보여준다 * 표시로 현재 작업중인 브랜치를 확인할 수 있다
git branch
현재 커밋에서 새로운 브랜치를 생성한다
git branch [branch-name]
다른 브랜치로 전환한다
git switch [branch-name]
git checkout [branch-name]
새로은 브랜치를 생성하고 해당 브랜치로 전환한다
git switch -c [branch-name]
git checkout -b [branch-name]
현재 브랜치에 특정 브랜치의 히스토리를 병합한다
git merge [branch-name]
현재 브랜치의 모든 커밋 히스토리를 보여준다
git log
6. 비교 및 검사
- 로그 및 변경 사항을 검사할 수 있다
브랜치B에 없는 브랜치A의 모든 커밋 히스토리를 보여준다
git log branchB..branchA
해당 파일의 변경 사항이 담긴 모든 커밋을 표시한다 (파일 이름 변경도 표시)
git log --follow [file]
브랜치A에 있지만 브랜치B에 없는 것의 변경 내용(diff)을 표시한다 (branch간 상태 비교)
git diff branchB...branchA
7. 공유 및 업데이트
- 특정 레포지토리의 업데이트 사항을 검색하여 로컬 레포지토리를 업데이트할 수 있다
url을 통해 특정 리모트 레포지토리를 별칭으로 추가한다
git remote add [alias] [url]
별칭으로 추가한 리모트 레포지토리에 있는 모든 브랜치 및 데이터를 로컬로 가져온다
git fetch [alias]
리모트 브랜치를 현재 작업중인 브랜치와 병합하여 최신 상태로 만들 수 있다
git merge [alias]/[branch]
로컬 브랜치의 커밋을 리모트 브랜치로 전송한다
git push [alias] [branch]
리모트 레포지토리의 정보를 가져와 자동으로 로컬 브랜치에 병합한다
git pull
8. 히스토리 수정
- 브랜치 또는 커밋을 수정하거나 커밋 히스토리를 지울 수 있다
특정 브랜치의 분기 이후 커밋을 현재 작업중인 브랜치에 반영한다
git rebase [branch]
특정 커밋 전으로 돌아가며 스테이지된 변경 사항을 모두 삭제한다
git reset --hard [commitish]
9. 임시 저장
- 브랜치를 전환하기 위해 변경되었거나 추적중인 파일을 임시로 저장할 수 있다
수정하거나 스테이지된 변경사항을 스택에 임시 저장하고 현재 작업 내역에서 삭제한다
git stash
스택에 임시 저장된 변경사항의 목록을 보여준다
git stash list
스택에 임시 저장된 변경사항을 다시 현재 작업 내역에 적용한다
git stash apply
스택에 임시 저장된 변경사항을 다시 현재 작업 내역에 적용하고 스택에서 삭제한다
git stash pop
스택에 임시 저장된 변경사항을 삭제한다
git stash drop