반응형
자주 사용하는 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
반응형
'Javascript > 기본폴더' 카테고리의 다른 글
[JS] 비트 연산자 정리 // Bitwise Operations (0) | 2023.09.04 |
---|---|
[Next.js] 컴포넌트 // Component (0) | 2023.08.07 |
[CLI] 자주 사용하는 CLI 명령어 // Command Line Interface (0) | 2023.06.05 |