• Git 명령어 정리

    2023. 3. 5.

    by. 지은이: 김지은

    728x90

    벨로그에 작성했던 내용 추가해서 재업로드

    1. git status, git add

    • git init 명령어를 사용하여 git 저장소 생성 (.git 폴더 생성)
    • git status: 상태 확인
    • git add: 새로운 파일을 준비영역으로 보내기 (한 번에 추가할 땐 git add .)

     

    2. git commit

    준비 영역에 있는 파일을 저장소에 반영하여 어떤 상태인지 메시지 남기기

    • 메시지가 짧다면: git commit -m "Initial commit"
    • git commit -am "커밋 메시지": a는 all(add .), m은 commit message. 모든 파일을 한꺼번에 올림
      👉 단, 한 번도 add되지 않은 파일은 add로 먼저 올려주기
    • git commit —amend: 가장 최근 커밋 메시지 다시 작성
    • git log: 커밋 목록 보기 (history), --graph 붙이면 연결된 관계를 아스키그래프로 출력
    • git checkout: 수정한 파일을 다시 되돌리고 싶을 때 사용
    • git diff: 커밋된 파일 중 변경된 사항 비교할 때
    • 커밋 후 오류가 난다면?
      git config --global user.email "이메일 주소", git config --global user.name "이름" 설정 후 커밋 작성

     

    3. git reset

    실수로 커밋된 걸 되돌리기 (add 명령 취소)

    • git reset HEAD~1: HEAD는 현재 위치. 현재 위치에서 한 단계 전으로 내려가기 (커밋 자체가 사라져버림)
      👉 뒤에 --soft, --mixed(기본), --hard 옵션을 붙여 어떤 단계로 돌아갈지 직접 설정 가능

     

    4. 원격 저장소

    • git clone 주소 : git repository 복사
    • git remote add origin 주소 : origin으로 주소 등록하여 원격 저장소 연결
      • git remote rename origin: 저장소 이름 변경
      • git remote rm: 삭제할 저장소

     

    5. git revert, git branch

    • git revert: reset은 기록없이 전 단계로 돌아가지만 revert는 되돌아가되 commit 기록이 남음 (협업 시 사용)
    • git branch: 같은 코드에 각자 서로 다른 작업을 할 수 있게 복사본을 만들고 나중에 하나로 합칠 수 있음.
      • git checkout: 브랜치 생성 후 원하는 브랜치로 이동

     

    6. git merge, git rebase

    • git merge: master 브랜치와 다른 브랜치를 합치는 것
      • 합친 브랜치는 삭제하는 것이 좋음 git branch -d branch name
      • merge한 branch에서 같은 줄의 내용을 동시에 수정 시 충돌 발생하니 그 부분 합친 후 커밋
        git status로 어느 파일인지 확인 → ‘<<<’, ‘===’, ‘>>>’ 가 포함된 행 삭제
        👉  initial commit 하나 만들고 바로 여러 기능들의 branch들을 만들어 commit이 쌓이면 하나로 합쳐주기
    •  git rebase: merge로 병합시키면 commit된 줄기가 생기고, rebase는 필요없는 commit은 생략하여 하나의 줄기만 있기 때문에 깔끔하다는 장점이 있음

     

    7. git push, git pull

    • git pull orgin main: 원격저장소에서 데이터를 가져와 로컬데이터와 병합 (*master는 컴퓨터 브랜치 이름)
    • git push origin main: 원격 저장소에 업로드.
    • git fetch: 데이터를 가져오지만 병합 x (진행중인 작업 마무리하고 병합해줘야 함)

     

    * Origin 이란?

    내 컴퓨터에 저장되어 있는 저장소와 원격저장소를 연결하기 위해 사용하는 원격저장소 이름 (다른 이름 지정 가능)

     

     

    댓글