Git 시작하기

minhyung·2024년 5월 17일
0

git

목록 보기
1/3
post-thumbnail

1. Git의 특징


1.1. 시간순으로 프로젝트의 스냅샷을 저장한다

  • 파일이 달라지지 않았으면 이전 상태의 파일에 대한 링크만 저장한다.
  • 데이터를 스냅샷의 스트림처럼 취급한다.

1.2. 거의 모든 명령을 로컬에서 실행한다

  • 거의 모든 명령이 로컬 파일과 데이터만 사용하기 때문에 네트워크에 있는 다른 컴퓨터는 필요 없다.
  • 네트워크에 접속하고 있지 않아도 커밋할 수 있다.

1.3. Git의 무결성

  • 데이터를 저장하기 전에 항상 체크섬을 구하고 그 체크섬으로 데이터를 관리한다.

  • Git 없이는 체크섬을 다룰 수 없어서 어떠한 파일이나 디렉토리도 변경할 수 없다.

  • 체크섬은 SHA-1 해시를 사용하여 만들어진다.

    예시 : 24b9da6552252987aa493b52f8696cd6d3b00373


1.4. 데이터를 추가하기만 한다

  • Git으로 무얼 하든 Git 데이터베이스에 데이터가 추가되며, 되돌리거나 삭제할 방법이 없다.
  • 커밋하지 않으면 변경사항을 잃어버릴 수가 있지만, 커밋을 하고 나면 데이터를 잃어버리기 어렵다.

1.5. 세 가지 상태로 관리한다

  • Committed: 데이터가 로컬 데이터베이스에 안전하게 저장되었음
  • Modified: 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않음
  • Staged: 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태

1.5.1. 세 가지 단계

위의 세 가지 상태는 세 가지 단계와 연결되어 있다.

워킹 트리

  • 프로젝트의 특정 버전을 Checkout 한 것이다.
  • Git 디렉터리 안에 압축된 데이터베이스에서 파일을 가져와서 워킹 트리를 만든다.

Staging Area

  • Git 디렉터리에 있다.
  • 단순한 파일이고 곧 커밋할 파일에 대한 정보를 저장한다.
  • Index라고도 한다.

Git 디렉터리

  • Git이 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳을 말한다.
  • 다른 컴퓨터에 있는 저장소를 Clone 할 때 Git 디렉터리가 만들어진다.

Git으로 하는 일은 기본적으로 아래와 같다.

1. 워킹트리에서 파일을 수정한다.
2. Staging Area에 파일을 Stage 해서 커밋할 스냅샷을 만든다. 모든 파일을 추가할 수도 있고, 선택하여 추가할 수도 있다.
3. Staging Area에 있는 파일들을 커밋해서 Git 디렉터리에 영구적인 스냅샷으로 저장한다.

Git 디렉터리에 있는 파일들은 Committed 상태이다.
파일을 수정하고 Staging Area에 추가했다면 Staged이다.
Checkout 하고 나서 수정했지만, 아직 Staging Area에 추가하지 않았으면 Modified이다.


2. Git 초기 설정

git config로 설정 내용을 확인하고 변경할 수 있다.


2.1. 사용자 정보

사용자 이름과 이메일 주소를 설정한다.

$ git config --global user.name minhyung
$ git config --global user.email minhyung@example.com

만약 프로젝트마다 다른 이름과 이메일 주소를 사용하고 싶으면 --global 옵션을 빼고 명령을 실행하면 된다.


2.2. 편집기

기본적으로 기본 편집기를 사용한다. 다른 편집기를 사용하길 원한다면 변경할 수 있다.

$ git config --global core.editor vim

현재 적용된 편집기를 확인할 수도 있다. 실행 결과가 아무것도 뜨지 않는다면 기본 편집기를 사용한 상태이다.

$ git config --global core.editor

다른 편집기를 등록한 상태에서 기본 편집기로 돌아가고 싶은 경우에는 편집기 설정 제거를 통해 기본 편집기로 돌아갈 수 있다.

$ git config --global --unset core.editor

2.3. 설정 확인

설정한 모든 정보를 확인할 수 있다.

$ git config --list

Git은 같은 키를 여러 파일(/ect/gitconfig~/.gitconfig 같은)에서 읽기 때문에 같은 키가 여러 개 있을 수도 있다. 그런 경우 Git은 나중 값을 사용한다.

다음 명령으로 Git이 특정 Key에 대해 어떤 값을 사용하는지 확인할 수 있다.

$ git config user.name

참고문서: https://git-scm.com/book

0개의 댓글