[Git & Github] Git 시작/ TIL # 32

velg·2021년 9월 11일
0

Git & Github

목록 보기
1/2

Git 대하여 알아보자

Git

VCS(version control system)이며 git repository에 있는 모든 파일들의 변경 사항을 트래킹 한다
이를 통해 우리(개발자)들은 원하는 파일들을 git repository에 저장하고 변경사항들에 대한 정보를 얻을 수 있다

VCS(version control system)? 🤔
버전 관리 시스템. 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다

Git 설치

설치
https://git-scm.com/ 접속 후. 운영체제에 맞게 다운로드

설치 확인

git --version

이미 설치되어 있다면 해당 명령어를 터미널에 입력시 git version이 출력된다

이름 & 이메일 설정

git config --global user.name "이름"
git config --global user.email "이메일"

git에 본인 정보를 등록한다


Git repository

Git 파일들을 관리하는 저장소이다

종류

  • Local
    본인 컴퓨터에 저장된 로컬 버전 파일들의 저장소
  • Remote
    로컬 버전이 아닌 외부 버전 파일들의 저장소 (일반적으로 원격 서버)

생성

Git은 git repository에 있는 파일들을 트래킹 하기 때문에 우리가 git을 이용하려면 원하는 파일들이 있는 폴더에 git repository를 생성해야한다

주로 다음 두 가지 중 한 가지 방법으로 Git 저장소를 쓰기 시작한다

  • 아직 버전관리를 하지 않는 로컬 디렉토리 하나를 선택해서 Git 저장소를 적용하는 방법
  • 다른 어딘가에서 Git 저장소를 Clone 하는 방법

기존 디렉토리에 저장소 생성

git init

원하는 프로젝트 폴더로 이동 후 위 명령어를 입력시 .git라는 숨김 폴더가 생성된다

기존 저장소 clone

git clone <url>

위 명령어 입력 시 원하는 저장소를 clone 할 수 있다


Commit

이제 git repository를 생성 하였다
하지만 아직 어떤 파일도 관리하지 않는다!
git이 파일을 관리하게 하려면 저장소에 파일을 추가하고 커밋해야 한다

git은 버전들을 관리하기 위해서 버전들의 각 시점 전체를 하나의 스냅샷 으로 저장한다
이 과정을 우린 커밋이라 부르고 하나의 스냅샷 또한 커밋이라 부른다
커밋은 수정 할 수 없지만 언제든지 해당 커밋으로 돌아 올 수 있습니다 (각 시점 전체를 저장한 스냅샷을 말하므로)

스냅샷(snapshot)
특정 시점에서 파일, 폴더 또는 워크스페이스의 상태

Working directory & Staging area &.git directory

git에는 크게 세 가지 공간이 있다

  • working directory
    작업하고 있는 로컬 컴퓨터의 공간
  • staging area
    커밋할 파일에 대한 정보를 저장하는 공간
  • git directory
    스테이징 에어리어의 파일들을 커밋하여 저장하는 공간

파일을 커밋하는 과정

working directory -> staging area

git add

커밋할 파일을 스테이징 에어리어에 올린다
이 때 옮긴다기 보단 복사한다의 개념이고, git add . 명령어를 사용하면 워킹 디렉토리의 모든 파일에 대해서 적용 되기 때문에 자주 사용 된다

staging area -> git directory

git commit <fileName>

스테이징 에어리어에 있는 파일들을 커밋하여 저장한다

Git의 세 가지 상태 Committed, Staged, Modified 에 대해서 🚀

git에는 앞의 세 공간과 연결되어 세 가지 상태가 존재한다
git 디렉토리에 있는 파일들은 Committed 상태이다. 파일을 수정하고 Staging Area에 추가했다면 Staged 상태이다. 그리고 Checkout 하고 나서 수정했지만, 아직 Staging Area에 추가하지 않았으면 Modified 상태이다

커밋 메시지 🚀
커밋 메시지는 커밋에 대한 설명이다. 만약 커밋 메시지를 작성하지 않는다면 어떤 부분이 수정 되었고, 무엇에 관한 커밋인지 알기 어려울 것이다

git commit -m '설명'

위 명령어 사용시 커밋의 title이 설정 된다
하지만 설명이 부족할 것이라고 판단되면 멀티 라인 커밋을 사용하자

git commit

입력시 편집기가 나오는데 i를 눌러 insert 모드로 변환한 후 메시지를 작성하고, 작성이 끝난 후엔 esc를 누르고 :wq를 입력해 저장 후 편집기에서 나올 수 있다

여기까지 진행했다면 git directory에 커밋이 저장 되었을 것이다!

참고 사이트

profile
초보 개발자

0개의 댓글