Git 기초 명령어
- IT/Git + GitHub
- 2022. 10. 19.
반응형
1. $git config 명령어
- $git config --list 명령어를 통해 자신이 설정한 config 값을 볼 수 있다.
- 설치하면서 했던 [user.name]과 [user.email]확인 가능.
반응형
2. git config 설정 변경 ( user.name 과 user.email 를 예시로)
2-1. 아직 초기 설정을 안했을 경우 ($ git config --global user.name 등등)
- 지역(local) 설정
- $ git config user.name "이름"
- $ git config user.email "이메일@주소"
지역 설정인 경우 cd 명령어를 통해 .git이 저장된 디렉토리로 이동 후에 명령어를 입력해야 한다.
- 전역(global) 설정
- $ git config --global user.name "이름"
- $ git config --global user.email "이메일@주소"
2-2. 초기 설정을 한 번이라도 했었던 경우
- 3번의 --unset 옵션으로 삭제했다가 2-1 작업으로 되돌아와 설정한다.
3. $git config 설정 삭제 (--unset 옵션)
- $ git config --unset "삭제할 config 설정명"
//값이 "독립(한개)"적인 config 설정값 일 때 (user.name 등)
//★Local
$ git config --unset user.name // local 설정된 user.name 삭제
$ git config --unset user.email // local 설정된 user.email 삭제
//★Global
$ git config --unset --global user.name //global 설정된 user.name 삭제
$ git config --unset --global user.email //global 설정된 user.email 삭제
//값이 "중복(여러개)"적인 config 설정값 일 때 (user.name 등)
//★Local
$ git config --unset-all user.name // local 설정된 user.name 삭제
$ git config --unset-all user.email // local 설정된 user.email 삭제
//★Global
$ git config --unset-all --global user.name //global 설정된 user.name 삭제
$ git config --unset-all --global user.email //global 설정된 user.email 삭제
4. $ git init - git 저장소 만들기 (=git 초기화)
- $ git init 명령어시 아래와 같이 .git 이라는 저장소가 만들어진다.
5. $ git status - git 상태 확인 (아래쪽에 "알아 둘 점" 한 번 보고오면 좋음)
- .git 폴더가 들어있는 곳에 cd명령어를 이용해 이동 후에 명령어를 입력한다.
git status 문장 뜻
- On branch master - 현재 master 브랜치에 있다.
- No commits yet - 아직 커밋한 파일이 없다.
- nothing to commit ~~(생략) - 현재 commit할 파일이 없다.
- 아직 스테이지 영역에 있다는 뜻
여기서 알아 둘 점. (작업트리, 스테이지, 저장소)
- Git 의 기능 중 하나가 “버전 관리” 이다.
- Git 에서 문서를 수정하고 저장할 때마다 하나의 버전이 생긴다.
- 하나의 버전 마다 아래와 같은 구조를 지닌다.
- 작업 트리 : 파일 수정, 저장 등 작업 하는 디렉터리이다.
- 스테이지
- 버전으로 만들 파일들이 commit 전 “대기”하는 곳
- .git 폴더 안의 INDEX 에 저장되며 눈에 보이지 않는다.
- 저장소 : 스테이지에 있던 파일을 버전으로 만들어 “저장” 하는 곳
- .git 폴더 안의 HEAD 에 저장되며 역시 눈에 보이지 않는다.
- repository 라고도 하며 나중에 원격저장소인 Github로 대체가 가능하다.
6.$git add [파일명]/옵션 : 작업 트리 → 스테이지로 작성중인 파일 저장
- 예) $git add .
git add 옵션 | 의미 |
[파일명] | [특정 파일]만 스테이징 하겠다. |
-A | [모든 파일]을 스테이징 하겠다. |
. | [모든 파일]을 스테이징 하겠다. |
7. $git commit -m "메시지 명" : 스테이지 → 저장소로 스테이징하던 현재 파일 저장
- 스테이징에서 옵션을 무엇을 줌에 따라 커밋의 양이 달라진다.
- 한 번 커밋 후 바로 두 번째 커밋은 할 수 없음.
8. $git log [<options>] [<revision range>] [[--] <path>…] : 로그 확인
- 옵션을 사용해 원하는 로그를 출력할 수 있는 기능
- 실습을 위해 $git log 로만 작성.
9. 작업 취소 (checkout, reset 옵션)
- $git checkout -- [파일명]
- 작업 트리에서 수정한 파일 되돌려줌
- 파일을 수정한 뒤에 최신 버전으로 되돌리려고 할 때 사용한다.
- 다시 복구되지 않음.
- 예) $git checkout -- test.txt
- $git reset [<commit>] [--soft | --mixed [-N] | --hard | --merge | --keep]
- 요약 : $git reset HEAD
- $git reset HEAD [파일명]
- 스테이징 되돌리기 : 스테이지 올린 상태에서 되돌릴 때
- reset HEAD 뒤에 파일을 지정하지 않을 시 스테이지에 있는 모든 파일을 되돌린다.
- $git reset HEAD^
- ^(캐럿) 사용
- 최신 커밋 되돌리기
- 가장 마지막에 했던 커밋을 되돌리려고 할 때 커밋 취소와 함께 스테이지에서도 내려진다.
- 최근 3개 커밋 취소하려면 ~(틸드) 다음 숫자를 붙여주면 된다.
- $git reset HEAD~3
10. $git revert 커밋 해시(커밋 ID)
- 작업 트리에서 수정한 파일 되돌리는 명령어
- 예) $git revert bd097e8
- $git log 명령어를 통해 커밋 해시를 확인 후 사용한다.
- 해당 커밋 해시의 직전 커밋으로 돌아간다.
- 이후 커밋은 그대로 유지됨.
$git log 명령시 노랑색 commit 오른쪽에 있는 것이 해시 코드임.
단, 해시코드가 길어서 보기 힘들 땐 log의 옵션 --oneline 을 사용하면 된다.
해시코드가 약 7글자로 축약되는데 이걸 사용해도 결과는 같다.
설명이 좀 부족해서 참고하시라고 아래 사이트 소개합니다..!
반응형
'IT > Git + GitHub' 카테고리의 다른 글
Git 특징 및 설치, 기초 환경 설정 (1) | 2022.10.18 |
---|