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