[Git & Github] Git 시작/ TIL # 32
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에 커밋이 저장 되었을 것이다!
참고 사이트
Author And Source
이 문제에 관하여([Git & Github] Git 시작/ TIL # 32), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wjdcksdud29/Git-Github-Git-Github-TIL-32저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)