개발/Etc

Git 명령어

hn-log 2024. 9. 26. 20:06

 

1. 시작.

git init

 

2. 현재 브랜치 이름 변경.

git branch -m <바꿀 브랜치 이름>

ex) git branch -m main

 

3. 연결.

git remote add <원격 저장소 이름> <원격 저장소 주소>

ex) git remote add origin https://github.com/User/example.git

 

4. 원격 저장소 연결 상태 확인.

git remote -v

 

5. 원격 저장소 코드 가져와서 병합.

git pull <원격 저장소 이름> <가져올 원격 저장소 브랜치>

ex) git pull origin main

-f : 원격 저장소의 이름과 브랜치를 기억하여 다음 번에 간단히 git pull로도 동일한 명령 실행.

 

6. 스테이지된 파일 확인.

git status

 

7. 스테이지에 올릴 파일 등록.

git add <스테이지에 올릴 파일>

ex) git add .

. : 전체 파일.

 

8. 변경 사항 커밋.

git commit -m <'커밋 메시지'>

 ex) git commit -m 'first commit'

-a : 추적 중인 파일들에 대해 스테이징을 자동으로 실행하고 커밋.

 

9. 원격 저장소에 업로드.

git push <원격 저장소 이름> <업로드 할 원격 저장소 브랜치>

ex) git push origin main

-f : 원격 저장소의 이름과 브랜치를 기억하여 다음 번에 간단히 git push로도 동일한 명령 실행.

 

10. 커밋 로그 확인.

git log

--oneline : 한 줄로 간략히.

--graph : 커밋 그래프 구조를 시각적으로 표시.

 

11. 특정 커밋으로 이동.

git checkout <이동할 커밋 해시>

ex) git checkout 3bb45d1

 

12. 특정 커밋으로 이동한 상태에서 빠져나오기.

git checkout <브랜치 이름>

ex) git checkout main

- : 마지막으로 체크아웃한 브랜치로.

 

13. 현재 작업과 마지막 커밋의 차이 확인.

git diff <파일명>

ex) git diff src/main.js

 

14. 특정 커밋으로 되돌리기.

git reset <되돌릴 커밋 해시>

ex) git reset --hard 3bb45d1

--mixed : 스테이징한 파일을 전부 내리지만 현재 작업은 유지.

--hard : 스테이징한 파일을 전부 내리고 현재 작업도 삭제.

 

15. 추적 해제.

git rm --cached <파일명>

ex) git rm --cached test.txt

-r: 디렉터리.

ex) git rm --cached -r test

 

16. 유니코드 문자를 그대로 표시 - 한글 깨짐 방지.

git config --global core.quotepath false

 

17. 커밋 수정 과정.

    1) 인터랙티브 모드 실행.

        git rebase -i

        --root: 전체 목록.

        --HEAD~[화면에 보일 커밋 메시지 수]

        ex) git rebase -i --root

        ex) git rebase -i --HEAD~50

    2) 커밋 pick 키워드를 drop, reword 등으로 변경 후 종료.

    3) 충돌 해결(git checkout --theirs . 또는 git checkout --ours . 또는 직접 수정).

    4) 추적(git add .)

    5) rebase 계속 진행.

        git rebase --continue

    6) rebase 중단 후 롤백.

        git rebase --abort

        

18 . 원격 저장소 변경.

git remote set-url <원격 저장소 이름> <원격 저장소 주소>

ex) git remote set-url origin https://github.com/hn250424/example.git

 

19. 브랜치 목록.

git branch 

* 로컬

-r: 원격

git branch -r

* 원격

 

20. 브랜치 이동.

git checkout

-b: 현재 브랜치 기준으로 히스토리 복사 & 생성 후 이동.

ex) git checkout -b nb

--orphan: 커밋 히스토리 없이 복사 & 생성 후 이동.

ex) git checkout --orphan nb