[Git] 기초

Nakjoo·2022년 12월 21일
0

[SEB_BE_43]

목록 보기
3/29

1. Git이란?

Linux OS를 만든 토르발즈가 만든 일종의 프로그램으로 쉽게 말해 파일을 관리해주는 프로그램이다.

여기서 파일을 관리해준다는 것은 다음을 의미한다.

  • 파일의 변경 사항을 추적하며, 사용자가 각 파일의 버전을 관리할 수 있게 도와준다.
  • 파일을 백업할 수 있게 해준다.
  • 협업자들과 함계 파일을 공유하고, 각자의 작업물을 취합할 수 있게 해준다.

일반적으로 Git 자체는 로컬에서 버전을 관리해주는 프로그램을 의미한다. 그러나 백업 기능 또는 협업을 위한 기능을 활용하려면 온라인 원격 저장소가 필요하다. 이러한 원격 저장소 기능을 제공해주는 서비스 중 하나가 Github이다.

Git은 로컬에서 버전을 관리해주는 프로그램이며, Github는 Git을 클라우드 방식으로 구현한 서비스이다.

2. Git의 영역과 기본 명령어

Git의 각 영역은 크게 온라인과 로컬로 나뉜다.

  • 온라인 : Remote repository(원격 저장속)
  • 로컬 : Work space(작업 공간), Staging area(스테이징 영역), Local repository(지역 저장소)

2.1. git init

특정 파일을 Git이 관리하도록 하기 위해서는 먼저 해당파일이 존재하는 위치에서 git init을 입력해야한다. git init을 입력하면 디렉토리 내에 .git 디렉토리가 생성된다. 이 디렉토리 안에는 파일을 관리할 때 필요한 모든 정보들이 담겨있다.

2.2. Work space

Work space는 Git의 세 가지 영역 중 하나로, Working tree 또는 Work tree라고도 하며, 눈으로 볼 수 있는 디렉토리 자체를 의미한다.

Git은 Work space를 자동으로 스캔한다. Work space는 git init을 입력한 직후, 다른 어떠한 Git 명령어도 입력하지 않은 상태의 파일들이 존재하는 영역이다.

2.3. git status

Git으로 관리되고 있는 파일들의 상태를 git status 명령어로 확인할 수 있다.

2.3.1. 파일의 상태

Git의 관리 하에 있는 상태는 크게 TrackedUntraked로 나뉘며, Tracked는 다시 Unmodified, Modified, Staged로 나뉜다.

Tracked 상태인 파일들은 수정되었을 때 Git이 파일의 변경 내용을 감지하지만, Untracked 상태인 파일들은 파일의 내용을 변경해도 Git이 파일 내용 변경을 감지하지 못한다.

참고로, Untracked 상태의 파일은 Commit 과정을 거치면 Tracked 상태로 바뀐다.

Tracked의 세부 상태로는

  • Unmodified : 파일의 수정이 Git에 의해 감지되지 않은 상태
  • Modified : 파일의 수정이 Git에 의해 감지된 상태
  • Staged : 파일이 Staging area에 존재하는 상태

이 정도로 볼 수 있겠다.

2.3.2. Staging area

Staging area란, Local repository에 저장할 파일들이 임시적으로 대기하는 영역을 의미한다. 그렇다면 Staging area로 파일을 이동시키는 명령어는 무엇일까?

2.4. git add

특정 파일을 Staging area로 이동시킬 때에는 git add 파일_이름 명령어를 사용하면 된다. 파일이 Stagint area로 이동하므로, '파일이 스테이징한다'라고 표현하기도 한다. git add . 명령어를 사용하면 현재 디렉토리 내의 모든 파일이 스테이징 된다.

2.5. git commit

Commit이란 Local repository에 파일을 저장하는 행위를 말하며, 파일을 Local repository에 저장함과 동시에 파일의 버전을 기록한다.
git commit을 입력하면 여러줄의 커밋 메세지를 입력할 수 있는 텍스트 편집기 창이 뜨지만 git commit -m "메세지"를 사용하면 짧게 한 줄만 작성할 수 있게 된다.

Commit의 내역을 확인하려면 git log 명령어를 사용하면 된다.

git restore 명령어를 사용하면 스테이징을 취소할 수 있다.

2.6. git push

작업물을 Remote repository에 업로드하는 행위를 push라고 한다.
우선 push를 하려면 Remote repository를 만들어야한다.
Github에 로그인한뒤, 본인 repository에서 새로운 repository를 만든다. 그런 다음 Remote repository와 Local repository를 연결해준다.

이 때 사용되는 명령어는 git remote add origin [github 주소]이다.

이제 연결을 했으니 push를 해주면 된다.
push는 git push origin [브랜치_이름] 명령어를 통해 할 수 있다.

push가 완료되었으면 github 페이지를 확인해보면 commit한 파일이 올라가있는 것을 확인할 수 있다.

2.7. git clone

git clone은 Remote repository의 코드를 로컬로 복사해오면서 해당 Remote repository와 자동으로 연결을 맺어주는 명령어이다.

clone하는 방법은 Remote repository의 URL을 복사한 뒤, 터미널에서 git clone 복사한_URL을 입력하면 된다.

0개의 댓글