반응형
1. git 기본 명령어 모음
- git을 자주 사용하는데, 자주 사용하지 않는 명령어의 경우에 다시 찾아봐야 하는 귀찮음이 있어서 여기에 정리합니다.
1.1. git init
-
- 로컬 Git 저장소를 만듭니다.
ex) # git init
- 로컬 Git 저장소를 만듭니다.
1.2. git status
-
- 현재 작업 중인 파일의 상태를 확인합니다.
ex) # git status
- 현재 작업 중인 파일의 상태를 확인합니다.
1.3. git add [-A] [<pathspec>...]
-
- 현재 상태 추적, 파일의 변경 사항을 인덱스(Index)에 추가합니다.
- Git은 커밋하기 전에 인덱스에 먼저 커밋할 파일을 추가합니다.
- '-A' 옵션을 이용하여 전체 파일을 인덱스에 추가합니다.
ex) # git add -A
1.4. git commit [-m <msg>]
-
- 로컬 저장소에 변경 이력을 저장합니다.
- 현재 상태 저장하고 인덱스에 추가된 변경 사항을 이력에 추가합니다.
- '-m' 옵션을 이용하여 첫 번째 이력에 대한 메시지 작성
ex) $ git commit -m "v1 commit"
1.5. git push <저장소명> <브랜치명>
-
- commit으로 로컬 저장소에 저장된 변경 이력을 원격 저장소로 보내기 위해 push 명령어를 사용합니다.
- 원격 저장소에 처음으로 push 하는 경우 "--set-upstream"을 추가해야 합니다.
- git push --set-upstream origin <브랜치명> : 원격 브랜치와 로컬 브랜치를 연결하고 로컬 브랜치가 원격 브랜치를 추적하도록 설정합니다.
- git push -u origin <브랜치명>와 의미가 동일합니다.
1.6. git pull <origin> <브랜치명>
-
- 원격 저장소의 최신 변경 사항을 가져와 로컬 브랜치를 업데이트하는 명령어입니다.
- 원격 저장소로부터 변경 사항을 가져와 로컬 브랜치와 병합합니다.
1.7. git fetch <origin>
-
- 원격 저장소의 최신 변경 사항을 로컬 브랜치로 가져와 확인할 수 있습니다.
- git pull과 다르게 로컬 브랜치를 업데이트하지 않습니다.
1.8. git remote
-
- 원격 저장소를 관리하는 명령어입니다.
- git remote : 원격 저장소의 이름을 출력합니다.
- git remote -v : 원격 저장소의 이름과 경로 URL을 출력합니다.
- git remote add <원격 저장소 이름> <경로 URL> : 새로운 원격 저장소를 추가합니다.
- git remote show <원격 저장소 이름>: 원격 저장소의 branch 정보 등 상세 정보를 출력합니다.
- git remote rm <원격 저장소 이름> : 원격 저장소를 제거합니다.
1.9. git rm [--cached] [file name]
-
- 파일을 삭제합니다.
- "--cached" 옵션을 사용할 경우 로컬 디렉터리에서는 파일을 유지하고 원격 저장소의 파일만 삭제할 수 있습니다.
- 삭제 후 commit을 해야 합니다.
1.11. git mv [source] [destination]
-
- git에 저장된 파일을 이동시키거나 이름을 변경할 때 사용합니다.
1.10. git log [<option>] [<revision range>] [[--] <path>...]
-
- git의 로그 정보를 확인합니다.
ex) $ git log
- git의 로그 정보를 확인합니다.
1.11. git reset [<commit>] [--soft | --mixed [-N] | --hard | --merge] | --keep]
-
- 특정 커밋까지 이력을 초기화합니다. 바로 전, 또는 n번 전까지 작업했던 내용을 취소할 수 있습니다.
작업한 내용이 필요 없어질 때 사용합니다. - 이력이 지워지기 때문에 주의해야 합니다.
- 특정 커밋까지 이력을 초기화합니다. 바로 전, 또는 n번 전까지 작업했던 내용을 취소할 수 있습니다.
1.12. git revert <commit>...
-
- 특정 커밋을 취소하는 새로운 커밋을 만듭니다.
- 이력은 남겨두고 원하는 시점으로 돌아간다. 즉, 이전의 commit 내역을 남겨두고 새로운 commit을 생성하면서 과거로 돌아가게 된다.
1.13. git checkout
-
- 브랜치 변경 및 워킹 트리의 파일을 복원한다.
- 2.23.0 버전부터 checkout 기능을 switch와 restore을 통해 각각 분리하였다.
- 원격 저장소의 브랜치를 로컬 브랜치로 가져올 때 '-t' 옵션을 사용하면 원격 브랜치의 이름을 로컬 브랜치의 이름으로 사용합니다.
- ex) # git checkout -t <원격 브랜치 명>
1.14. git switch
-
- 브랜치를 변경한다.
- '-c' 옵션은 브랜치 생성과 브랜치 이동을 한 번에 수행한다.
1.15. git restore
-
- 작업 중인 파일을 되돌린다.
- 작업 중인 파일 중 기존 마지막 커밋의 상태로 되돌리고자 할 때 사용한다.
1.16. git branch
-
- 브랜치를 관리하는 명령어
'-a' : 원격/로컬 모든 저장소의 브랜치 확인
'-r' : 원격 저장소의 브랜치 확인
'-v' : 브랜치의 마지막 커밋 메시지 확인 - 브랜치 생성 : # git branch [브랜치 명]
- 브랜치 이동 : # git switch [브랜치 명]
- 브랜치 삭제 : # git branch -d [브랜치 명]
- 원격 브랜치 삭제 : # git push origin --delete [브랜치 명]
- 생성한 브랜치 원격 저장소에 push
# git switch test
# git push --set-upstream origin test (# git push -u origin test 명령어와 동일)
(로컬 저장소를 원격 저장소에 처음 push 할 때는 --set-upstream 옵션을 줘야 한다. 그래야 tracking 정보가 성정 되기 때문)
- 브랜치를 관리하는 명령어
1.17. git merge
-
- 브랜치 합치기
1.18. git config
-
- # git config --global user.name [이름]
- # git config --global user.email [이메일]
- # git config --list
- git config로 설정한 내용 삭제 방법
- git config [--global] --unset [설정]
- # git config --global core.autocrlf false //설정
- # git config --global --unset core.autocrlf //삭제
1.19. git 계정 정보 저장하기
-
- # git config --global credential.helper store
- 해당 명령을 실행하면 로그인 정보 입력 후 이후 입력을 요청하지 않는다.
2. git 추가 사항
2.1. 원격 저장소와 연결한 뒤 로컬 저장소로 가져오기
-
- git init
- git remote add origin <경로 URL>
- git fetch
- git remote -v
- git branch -r
- git checkout -t origin/develop
2.2. 원격 브랜치 동기화
-
- git 브랜치를 GUI로 삭제 처리한 경우 해당 로컬 저장소 커맨드라인에서 삭제된 브랜치가 보이는 경우가 존재함
- 다음 명령어를 사용하여 로컬과 원격 브랜치를 동기화한다.
- # git fetch --all --prune
2.3. Windows에서 텍스트 파일 git 업로드, 다운로드 시 개행문자가 변경되는 현상
-
- 개행 문자의 종류는 다음과 같습니다.
- CR + LF : Windows에서 사용되는 개행문자 (2 Byte)
- LF : Linux/Unix 에서 사용되는 개행문자 (1 Byte)
- Windows에서 텍스트 파일을 생성하면 개행문자는 CR + LF가 되지만 해당 텍스트 파일을 Git에 업로드(Push)하면 Git 원격저장소에는 개행문자가 LF로 변경되어 업로드됩니다.
- Windows에서 해당 텍스트 파일을 다운로드(Pull)를 하면 개행문자가 CR + LF로 변경되어 Windows 로컬에 저장된다.
- 하지만 해당 텍스트 파일을 Linux에서 다운로드(Pull) 하는 경우 개행문자를 LF 그대로 로컬에 저장된다.
- git 원격 저장소에 개행문자 저장 시 자동으로 변경되지 않게 하려면 다음을 설정합니다.
- git config --global core.autocrlf false
- 개행 문자의 종류는 다음과 같습니다.
반응형
'git' 카테고리의 다른 글
[Git] 오류 fatel remote error CAPTCHA required (0) | 2024.01.03 |
---|---|
[git] stash를 사용하여 수정 내역 스택에 저장하기 (0) | 2023.11.14 |
[git]error: failed to push some refs to (0) | 2018.01.08 |
[git]Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (0) | 2018.01.03 |