[Git] 명령어 정리

2024. 5. 2. 18:51정리

$ git "유용한 명령어가 생기면 꾸준히 업데이트"

 

$ git init
//새로운 깃 저장소를 생성.

$ git remote add origin [주소]
//깃 원격 저장소를 추가하기 위해 사용.

$ git branch [브랜치 이름]
//브랜치를 추가. 
//주의할 점 > 브랜치는 특정 커밋을 가리키는 포인터 역할을 하기 때문에
//특정 파일 생성 후 add 후 commit 과정을 마쳐야만 만들 수 있다. 

$ git checkout -b [브랜치 이름]
//$ git branch와 달리 특정 파일을 commit하지 않고도 바로 만들 수 있다.

$ git branch -a
//원격과 로컬의 모든 브랜치를 보여준다.

$ git checkout [브랜치 이름]
//다른 브랜치로 전환하기 위해 사용한다.

$ git add [경로/파일]
//해당 파일을 스테이징 영역(임시 저장)에 올릴 때 사용한다.
//드래그로 bash에 끌어오기 가능.
$ git add .
//로컬 저장소에 있는 모든 파일을 스테이징 영역에 올린다.
//이미 원격에 올라가 있는, 수정하지 않은 파일들도 포함해서 중복되게 올린다고
//생각할 수 있으나, 변경된 파일만 올림.

$ git commit -m "수정 사항"
//스테이징 영역에 올려놓은 파일들을 로컬 저장소에 커밋.

$ git log
//해당 브랜치에서 커밋된 이력을 보여줌.

$ git status
//현재 작업상태를 확인할 수 있다.

$ git push origin [브랜치 이름]
//원격 저장소에 올림.

$ git fetch
//현재 브랜치가 속한 원격 저장소의 최신 변경 사항을 업데이트한다.
//merge 작업을 이후에 해주어야지만 해당 로컬에 반영이 된다.
$ git fetch origin [브랜치 이름]
//해당 브랜치의 최신 변경 사항만을 확인한다.

$ git remote update
//연결된 원격 저장소의 최신 변경 정보를 확인한다.
$ git remote update [원격 저장소 이름]
//특정 원격 저장소만 선택 가능하다.
$ git remote -v
//기본적으로 원격 저장소의 이름은 origin 이지만 프로젝트에 따라
//이름이 다를 수 있으니 위 명령어로 확인해 볼 수 있다.

$ git diff [해당 브랜치] [비교 브랜치]
//두 브랜치 사이의 차이를 확인.

$ git merge [해당 브랜치]
//현재 작업 중인 브랜치와 해당 브랜치를 병합한다.
$ git merge --abort
//충돌이 났을 경우 병합 전으로 되돌린다.

$ git pull origin [브랜치 이름]
//깃 원격 저장소의 파일을 로컬 저장소로 가져오기 위해 사용.
//git fetch + git merge

$ git clone [주소]
//원격 저장소의 모든 파일을 복사한다. 복사하면서 자동으로 로컬 저장소를 초기화함으로
//git init을 생략하자.

$ git branch -D [브랜치 이름]
//강제 삭제. 병합되지 않은 브랜치가 있을 시 주의.
$ git branch -d [브랜치 이름]
//병합되지 않은 브랜치가 있을 시 경고 메시지가 나옴.


-----2024/07/04 추가-----

.gitignore로 불필요한 파일을 github에 올리고 싶지 않다면 아래 명령어를 통해 설정 가능함.
일단 .gitignore 파일이 없다면 루트 폴더에서
$ touch .gitignore
//.gitignore 파일이 생성.
//아래 단계로 가기 전에, 먼저 .gitignore 파일 안에 원하지 않는 파일 경로를 지정해줘야 함.

$ git rm --cached 파일이름
//이미 git에 추가된 파일을 캐시에서 제거합니다. 파일은 로컬에 남아 있지만 git에선 추적하지 않는 상태.
$ git rm --cached -r 폴더이름/
//위와 동일하지만 -r을 통해 폴더 하위의 모든 폴더 및 파일을 삭제.
//위 과정을 마치고 add . -> commit -> push 단계를 거치면 끝.

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

[Tip] 자바의 Integer.parseInt()  (0) 2024.06.28
[Tip] 자바의 remove()  (0) 2024.05.10
[Tip] 자바의 substring()  (0) 2024.05.09
[Regex] 정규 표현식 정리  (0) 2024.05.04