Home git commands
Post
Cancel

git commands

global username, email 설정

1
2
$ git config — global user.name “Igor Santos”
$ git config — global user.email “igor.santos@example.com”

local username, email 설정

1
2
$ git config --local user.name "jaegoo.kim"
$ git config --local user.email "rlaworn1993@gmail.com"

git config list

1
$ git config --local --list

직전 commit의 committer name, email 변경

1
git commit --amend --author="[NAME] <EMAIL>"

이미 push된 커밋 author 변경하기

1
2
git commit --amend --author="Author Name <email@address.com>"
git push -f

Git ignore 적용하기

1
2
3
git rm -r --cached .
git add .
git commit -m "Apply .gitignore"

commit sha 정보 조ㅣ

1
git show [commit sha]

Branch 삭제

  • Local branch
    1
    
     git branch -d [branch_name] 
    
  • Global branch
    1
    2
    
     git branch -D [branch_name1] [branch_name2] ...
     git push [remote_name] --delete [remote_branch_name1] [remote_branch_name2] ...
    

Branch 목록 보기

1
2
3
> git branch // local branch 보기
> git branch -r // remote branch 보기
> git branch -a // local,remote 상관없이 보기

Branch 이름 변경

1
git branch -m [old-branch] [new-branch]

submodule

$ git submodule add [GIT_URL] // Add submodule $ git submodule init // set up local config file based on submodule info $ git submodule update // pull data from remote repository

Stash

git stash : The command takes your uncommitted changes (both staged and unstaged), saves them away for later use, and then reverts them from your working copy.

git stash pop : removes the changes from your stash and reapplies them to your working copy

git status apply : reapply the changes to your working copy and keep them in your stash

git stash drop : delete stash

Rename branch

git branch -m [old_name] [new_name]

n 번째이전 커밋으로 리셋

1
$ git reset --soft HEAD~n

Delete files in git history

merge

1
2
git checkout <the branch you want to merge into>
git merge <the branch you want contents from>

cherry pick

다른 브랜치에 있는 특정 커밋을 현재 브랜치로 커밋하고 싶을때 보통 다음과 같이 사용한다.

1
git cherry-pick 586030a0c492491b89768436a5ef2d821c6176e6

visual studio code의 plugin인 GitLens를 사용하면 아래와같이 손쉽게 cherry picking할수 있다.

img

pop specific file in stash

1
$ git checkout stash@{0} -- <filename>

git squash

여러 커밋을 하나의 커밋으로 묶고 싶을때 사용할 경우가 있는데, 이때 interactive rebase를 사용가능하다.

1
$ git rebase -i HEAD~3 # 최근 3개의 커밋 rebase

그리고 나타나는 vi에디터 상에서 나타난대로 수정하면된다.

이미 Push된 commit을 squash 한다면, 다음 커멘드를 실행

1
$ git push --force origin master

remote에서 branch 정보 갱신

1
2
$ git remote update
$ git fetch

Git Discard(폐기), Remove(제거) 차이점

  • Discard 변경한 내용 revert
  • Remove는 해당 파일을 삭제
This post is licensed under CC BY 4.0 by the author.

Trending Tags