Git (1) : Git, 깃이란?

STUDY_J·2024년 10월 6일

Git

목록 보기
1/1

[참고] : https://www.youtube.com/watch?v=hFJZwOfme6w&list=PLuHgQVnccGMA8iwZwrGyNXCGy2LAAsTXk&index=1

GIT = Version Control System

  • 파일명을 바꾸지 않고 파일 내용이 바뀌면 그것을 관리해줌
  • Backup, Recovery, Collaboration

1. 작업환경 구축 (git init)

mkdir git_project_ws
cd git_project_ws

git init
# Initialized empty Git repository in /home/yjh/Backup_ws/git_project_ws/.git/
  • init : 현재 디렉토리에서 작업을 진행하겠다는 것을 알려주는 기능
  • .git 이라는 디렉토리가 생김 -> 버전 관리를 하면 여러 정보들이 생기는데 그 정보들이 이 디렉토리에 저장됨

2. 버전관리 (git add)

sudo apt install vim

vim f1.txt # source : 1 을 작성해주고 저장한다

cat f1.txt # source : 1 을 출력한다.
git status

  • git status 를 해주면 작성한 f1.txt 파일이 추적되고 있지 않는다고 뜬다.
    이 파일은 버전 관리가 되고 있는 git_project_ws 디렉토리에 존재하지만 파일을 git에게 버전관리를 하라고 명령을 하지 않았다.

  • git add f1.txt 를 입력하여 git에게 버전관리를 시작하도록 명령한다.

git add f1.txt

git status

  • 프로젝트를 진행할 때 임시파일들은 버전관리를 하면 안된다.
    => 관리해야하는 파일을 명확하게 git에게 알려준다 ( git add )

3. 버전 만들기 (commit, 커밋)

  • 깃을 처음 쓴다면, 자신이 만든 것임을 나타내기 위해 name, email을 지정해준다
git config --global user.name '닉네임'
git config --global user.email '이메일'
  • 이 작업을 해주면 내가 작성한 버전은 이름과, 메일 주소를 포함하기 때문에 누가 작업하고 있는지 알 수 있게된다.

  • 이후에 git commit을 입력하여 맨 윗줄에 1을 입력하고 저장한다.
    그러면 다음과 같은 화면이 뜬다

git commit

  • git log를 통해 누가, 어떻게, 언제 무엇을 변경했는지 알 수 있다
git log

3-1. f1.txt를 계속 수정해보고 commit을 해보며 확인하기

vim f1.txt

1을 2로 수정하기

상태 확인하기

  1. f1.txt 가 수정되었다고 modified 로 나온다
git status

이 상태에서 git commit을 하면 안된다

  • 다시 git add f1.txt를 입력하여 다시 버전 관리 시스템에 add를 시켜야 한다
  • 새로운 파일, 이미 버전 관리가 되고 있는 파일이 수정되었을 때도 add를 해주어야 한다
    ( 파일 최초 생성, 파일이 수정되서 버전을 만들기 전에도 add를 먼저 해야함 )

  1. 이 상태에서 git commit을 통해 숫자 2를 작성한다

  2. git log를 통해 상황 살펴보기

4. 다른 파일 생성하기

cp f1.txt f2.txt
git status

  • 새로운 파일 (f2.txt) 생성 후, 상태를 확인했을 때 버전관리가 되고 있지 않으므로 add를 해주어야 한다
git add f2.txt

4-1. commit 하기

  • 새로운 파일 f2.txt를 만들고 add를 해주었으니 commit을 해주어야 함
    3번째 파일이니까 3으로 저장하기

  • git log로 히스토리 확인하기

4-2. 파일 수정하기

  • f1.txtf2.txt를 vim을 통해 수정해준다
  • cat f1.txt , cat f2.txt를 통해 파일 내용 확인

=> 파일을 수정했으니, git status를 통해 확인을 해보면 버전관리가 되지 않고있다고 뜬다

따라서 git add를 통해 버전관리에 추가를 해주어야함

  • f1.txt 만 add를 해주면 해당 파일만 커밋이 될 것임 (f2.txt는 커밋이 되지 않음
  • add 를 해준 파일만 커밋을 한다
    이 의미는 "선택적"으로 커밋을 할 수 있다는 의미
  • git commit을 치고, 4번째 커밋이므로 숫자 4를 쓰고 저장한다

  • git log

  • git status로 확인을 해보면 다음과 같음
    (f2.txt는 커밋이 되지 않음)

5. Summary

  1. f1.txt 와 f2.txt 파일을 만들고
    f1.txt만 add를 해주어 커밋 대기 상태로 만든다
    그 후, commit을 해주면 f1.txt만 커밋이 되고 f2.txt는 커밋이 되지 않는다

  2. git commitadd를 통해 커밋 대기 상태인 파일들만 커밋을 해준다

  3. 이러한 커밋 대기 상태를 git 에서는 stage area 라고 한다

0개의 댓글