취미생활 열정적으로 즐기기

Javascript/기본폴더

[GitHub] 자주 사용하는 Git 명령어, 상황에 따른 명령어

플로어캣 2023. 6. 8. 18:16
반응형

자주 사용하는 GitHub명령어

 

아직 병아리인 본인을 기준으로 자주 사용하는 것을 정리 해 봤다

 

  •  git init  : 현재 위치해 있는 디렉토리를 Git저장소로 사용하기 위해 초기화 하는 명령어
     git init [디렉토리 이름]  : 현재 위치에서 디렉토리를 생성함과 동시에 초기화 하는 명령어
    이후 파일 추적, 커밋, 브랜치 등 Git의 기능들을 사용할 수 있다.
    이미 Git저장소가 존재하는 경우는 새 저장소를 생성하지 않으며, 초기화 하지도 않는다.

 

  •  git clone [github 리포지토리 주소]  : 현재 경로에 해당 리포지토리를 복제
     git clone [github 리포지토리 주소] [로컬 디렉토리 이름] 
     : 현재 경로에 해당 리포지토리를 지정한 디렉토리 이름으로 복제

 

  •  git status  : 현재 작업상태 확인하기, 작업의 변경 상태유무 또는 스테이징이 되었는지 표시

 

  •  git add  : 변경된 작업상태를 커밋하기 위해 스테이징 영역에 추가하기
     git add [파일, 디렉토리 경로]  : git status를 통해 확인한 개별파일 또는 해당 디렉토리 전체를 스테이징 하기
     git add -A, git add .  : 변경된 파일 전체를 스테이징 하기

 

  •  git commit  : 스테이징 된 파일들을 로컬 저장소에 기록하기 (커밋하기)
     git commit -m [메세지]  : 간단한 메세지를 작성하여 커밋하기

 

  •  git push  : 현재 로컬 브랜치의 변경사항을 원격 저장소로 전송
     git push [원격저장소] [로컬 브랜치]  : 해당 로컬 브랜치의 변경사항을 같은 이름의 원격 저장소로 브랜치로 전송
     git push origin main  : 현재 로컬 브랜치인 'main'의 변경사항을 origin으로 지정한 원격 저장소의 'main'브랜치로 전송

 

  •  git branch  : 현재 Git 저장소에 있는 브랜치 목록 출력, 현재 작업중인 브랜치는 앞에 *표시로 확인이 가능
     git branch [브랜치 이름]  : 해당 이름으로 브랜치 생성
     git branch -a  : 로컬 및 원격 브랜치를 모두 포함하여 브랜치 목록을 출력
     git branch -r  : 원격 브랜치 목록만 출력
     git branch -d [브랜치 이름]  : 특정 브랜치를 로컬에서 삭제
    삭제 후  git push [원격저장소] :[삭제한 브랜치 이름]  명령어를 통해
    로컬에서 삭제한 브랜치가 원격 저장소에서도 삭제되게 할 수 있다.

 

  •  git checkout [브랜치 이름]  : 해당 브랜치로 전환, 작업 디렉토리의 변경 내용을 보존하지 않음

 

  •  git switch [브랜치 이름]  : 해당 브랜치로 전환, 변경 내용이 충돌하지 않는 한에만 전환 가능 *Git 2.23v 이후 권장

 

  •  git fetch  : 원격 저장소의 최신 변경 사항(커밋, 브랜치 등)을 가져오기, 이후 아래의 두 명령어를 통해 차이를 확인 가능

 

  •  git log  : 커밋 로그 출력, 위아래 화살표 등을 통해 내역 확인가능, q키로 나가기

 

  •  git diff  : 현재 작업 디렉토리의 변경된 파일명, 추가된 내용, 삭제된 내용 등을 출력, q키로 나가기
     git diff HEAD HEAD~1  : 현재 커밋(HEAD)과 이전 커밋(HEAD~1)간의 차이를 확인

 

  •  git merge [브랜치 이름]  : 해당 브랜치의 변경 사항을 현재 위치하고 있는 브랜치에 병합하기

 

  •  git remote  : 현재 Git저장소에 등록된 원격 저장소를 조회
     git remote -v  : 현재 Git저장소에 등록된 원격 저장소를 상세하게(이름과 URL을 포함) 조회
     git remote add [이름] [URL]  : 새로운 원격 저장소URL을  해당이름으로 추가
     git remote rename [이름] [변경할 이름]  : 등록된 원격 저장소의 이름을 변경
     git remote remove [이름]  : 해당 이름의 원격 저장소를 제거

 

  •  git pull  : 현재 작업중인 브랜치에 원격 저장소의 최신 변경 사항을 가져와 병합하기
     git pull [원격 저장소 이름] [브랜치]  : 해당 원격 저장소의 해당 브랜치의 변경 내용을 현재 작업중인 브랜치에 병합하기
    * git pull은 git fetch와 git merge명령어를 조합한 것으로,
    원격 저장소로부터 최신 변경 내용을 가져와서 자동으로 병합한다.

 

  •  git stash  : 현재 작업중인 변경사항을 스테이징 하는것이 아닌 stash라는 임시 저장소에 보관
     git stash list  : 저장된 stash목록을 확인
     git stash apply [stash]  : 임시저장된 stash에서 변경사항을 다시 적용
     git stash pop [stash]  : 임시저장된 stash의 변경사항을 적용하고 해당 stash 삭제
     git stash clear  : stash목록의 모든 stash를 삭제
    *위의  [stash] 의 식별자는  git stash list 명령어로 확인했을 때  stash@{[번호]}  형식으로 표기된다.

 

 

 

GitHub 명령어를 실제로 사용해보자

새 리포지토리 연결하기

(새로만든 리포지토리를 로컬 저장소와 연결하기)

 

로컬 디렉토리 생성, Git 저장소로 초기화

  •  git init 명령어로 현재 위치의 디렉토리를 Git 저장소로 초기화
    또는  git init [디렉토리 이름] 명령어 사용하여 현재 경로에 해당 이름의 리포지토리 생성, Git 저장소로 초기화
    이후  cd [디렉토리 이름]  사용하여 생성된 디렉토리로 진입

 

Git의 새 리포지토리와 로컬 리포지토리 연결하기

  •  git remote add [이름] [URL]  : 새로운 원격 저장소URL을  해당이름으로 추가

 

기존  원격 리포지토리에서 파일 받아오기

(위의 새 리포지토리로 생성하는것이 아닌, 존재하고 있는 원격 리포지토리를 로컬 저장소로 받아오기)

 

리포지토리 받아오기

  •  git clone [github 리포지토리 주소]  : 현재 경로에 해당 리포지토리를 복제
    이후  cd [디렉토리 이름]  사용하여 받아온 디렉토리로 진입

 

원격 리포지토리와 연결 된 로컬 저장소에서 작업하기

(브랜치 사용, 변경사항 커밋·푸시하기, 변경사항 가져오기)

 

작업 할 브랜치 생성, 이동하기

  •  git branch [브랜치 이름]  : 해당 이름으로 브랜치 생성
  •  git switch [브랜치 이름]  : 해당 브랜치로 전환
    * git branch  사용하여 현재 브랜치 확인 가능

 

원격 리포지토리에 업로드 할 파일 확인, 스테이징 하기

  •  git status  : 스테이징 할 파일 확인하기
  •  git add [파일, 디렉토리 경로]  : 개별파일 또는 해당 디렉토리 전체를 스테이징 하기
     git add -A, git add .  : 변경된 파일 전체를 스테이징 하기

 

내 작업 변경사항 커밋, 푸시하기

  •  git commit -m [메세지]  : 간단한 메세지를 작성하여 커밋하기
  •  git push [원격 저장소 이름] [브랜치]  : 현재 작업한 브랜치의 변경사항을 원격 저장소로 전송
    * git remote 사용하여 원격 저장소에 지정된 이름 확인 가능

 

원격 저장소의 변경사항 가져오기

  •  git pull  : 현재 작업중인 브랜치에 원격 저장소의 최신 변경 사항을 가져와 병합하기
     git pull [원격 저장소 이름] [브랜치]  : 해당 원격 저장소의 해당 브랜치의 변경 내용을 현재 작업중인 브랜치에 병합하기
    *새로운 파일의 추가 또는 기존파일의 수정사항이 있을 경우 변경사항을 스테이징 해야하는 오류가 생길 수 있다.
     git status , git add  를 이용하여 변경사항을 먼저 확인, 스테이징 그리고 커밋 이후 변경사항을 가져오자

나는  git stash 명령어를 이용하여 임시보관 후 머지,

그리고  git stash pop 명령어로 다시 변경사항을 가져와서 작업을 했었던 것 같다

 

 

 

참고 사이트 : https://docs.github.com/ko/get-started/using-git/about-git

 

 

 

반응형