개념 정리

git 명령어 모음

Bittersweet- 2022. 1. 21. 10:55
728x90

git 명령어

1) [파일명.확장자명]을 스테이지에 올림

git add [파일명.확장자명]
git add .  #수정한 전체파일을 스테이지에 올림

2) 커밋 메시지[메시지명]을 붙여 커밋

git commit -m "[메시지명]"

3) 메시지[메시지명]을 붙여서 스테이징과 커밋을 동시에 진행

git commit -a -m "[메시지명]"

4) 커밋 내역 확인

git log
git log --pretty=oneline   #한줄로 출력
git log --oneline  #할줄에 한커밋씩 출력
git log --branches --graph. #커밋로그에 각 브랜치의 커밋을 그래프로 표시

5) 특정 커밋 내역 확인

git show [커밋 id]

6) 최근 버전과 작업 폴더의 수정 파일 사이의 차이를 출력

git diff
git diff [이전커밋 id] [이후커밋 id]

7) 가장 최근 커밋을 취소

reset 옵션

--soft : add 상태는 유지

--mixed: add 하기 전 상태

--hard: add 하기 전으로 보내고 작업한 파일 삭제

git reset #add 된 모든 파일 staging 취소
git reset HEAD  # 전체파일 취소
git reset HEAD [파일명] #[파일명]파일 취소
* HEAD는 지금 현재 최신 상태를 말함

git reset HEAD^  #현재 HEAD의 이전 커밋으로 되돌리기
git reset --soft HEAD^. #commit만 취소
git reset --hard HEAD^  #commit을 취소하고 unstaged 상태로 변경
git reset --hard HEAD. #원격 저장소의 마지막 commit 상태로 변경
git reset HEAD~n. #현재로부터 n번째 이전 커밋으로 되돌리기

8) reset의 3가지 옵션

git reset --soft [커밋ID]. #head 만 바뀜
git reset --mixed [커밋ID]  #staging도 그때로 바뀜
git reset --hard [커밋ID]  #working디렉토리/staging 모두 그때로 바뀜

9) 커밋 수정

// 바로 직전 커밋에 새로 작성한 코드 추가
git add .
git commit --amend

// 이전 커밋 수정
git rebase -i <commit id>

 

브랜치 명령어

1) 새로운 브랜치 생성

git branch [브랜치명]

2) 브랜치 조회

git branch

3) 브랜치로 체크아웃

git checkout [브랜치명]
git checkout -b [브랜치명]  #브랜치 만들고 바로 이동

4) 브랜치 삭제

git branch -d [브랜치명]

 

5) [브랜치명]을 master 브랜치와 병합

git merge [브랜치명]
git merge [브랜치명] --edit  #병합 후 바로 vi 편집기가 나오면서 커밋 메시지 수정 가능
git merge [브랜치명] --no-edit  #커밋 메시지 수정없이 바로 병합
git merge --abort  #merge 취소

git hub 원격저장소

1) 원격 저장소 연결

git remote add origin [github 레포 주소]
git remote add origin [브랜치 이름]  #없으면 생성됨

2) 연결된 원격저장소 확인

git remote -v

3) 지역 저장소의 커밋을 맨 처음 원격 저장소에 올리는 경우

git push -u origin master

4) 3번 이후 지역 저장소의 커밋을 원격 저장소에 올리는 경우

git push
git push origin master

5) 원격 저장소의 커밋을 지역 저장소로 가져옴

git pull
git pull origin master

6) SSH 키를 생성

ssh-keygen

7) 원격 저장소 복제하기

#첫번째 커밋이 아니라면 풀 먼저하기
git remote remove origin
#원격 저장소를 [지역저장소명]에 복제하기
git clone [원격저장소 주소]

8) 원격 저장소의 커밋을 가져오기만 하고 merge하지 않음. 가져온 branch 내용은 origin/[브랜치]로 저장

git fetch
#diff로 비교
git diff test origin/test. #브랜치 이름이 test일 경우 예시

9) 패치로 가져온 경보가 있는 [FETCH_HEAD]를 master 브랜치에 병합

git merge FETCH_HEAD

10) 원격 저장소에 [브랜치명]의 브랜치 커밋을 올림

git push origin [브랜치명]

11) 원격 저장소 삭제

git remote remove origin

12) 작업 트리의 수정내용 stash에 따로 보관하기

git stash
git stash save
# 보관한 내용 적용
git stash apply
git stash apply stash@{1}
# 보관한 내용 중 가장 최근 항목을 삭제
git stash drop
git stath drop stash@{1}

'개념 정리' 카테고리의 다른 글

폴리필(polyfill)  (0) 2022.02.07
terminal 명령어 모음  (0) 2022.01.25
이메일 템플릿(웹메일) 코딩 시 주의사항  (0) 2022.01.21
<wbr> vs <br>  (0) 2022.01.18
polyfill(폴리필)이란?  (0) 2022.01.13