GItHub란 Git을 사용하는 웹 서비스로 깃과는 다른 것입니다

 

Git이란?

  • 컴퓨터 파일의 변경사항을 추적하고, 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템입니다.

 

Git의 핵심 기능

  • 버전 관리
    ✓ 문서를 수정할 때마다 언제 수정했는지, 어떤 것을 변경했는지 자동으로 저장해줍니다.
  • 백업
    ✓ 원격 저장소(GitHub 등)에 백업할 수 있습니다.
  • 협업
    ✓ 팀원 간 파일을 편하게 주고 받으면서 작업이 가능합니다
    ✓ 수정에 대한 기록이 남으므로, 오류 파악이 쉽습니다.

Git 초기 사용자 설정

Git의 초기 사용자 설정을 위해서는 이름과 이메일 주소를 설정해줘야 합니다.

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

 

Git 저장소 만들기

  1. Git 저장소를 만들 플더로 이동합니다.
  2. 다음 명령어를 통해 Git 저장소를 만듭니다: git init
  3. Git 저장소가 생성됐는지 확인합니다: ls -al
  4. 동기화를 제외하려면 .gitignore라는 이름의 text파일에 파일명을 기록할 수 있습니다.
    ✓ .gitignore에 지정된 파일과 폴더는 원격저장소에 업로드되지 않습니다.

Git에서의 버전

  • 문서를 수정하고 저장할 때마다 새로운 버전이 생성됩니다.
  • 파일 이름은 그대로 유지하면서 다양한 버전을 가질 수 있습니다.
    ✓ 각 버전마다 작업했던 내용을 확인할 수 있고, 이전 버전으로 되돌아갈 수 있습니다.

state와 commit

  • 작업 트리 working tree
    ✓ 파일 수정, 저장 등의 작업을 하는 디렉토리
  • 스테이지 stage
    ✓ 버전으로 만들 파일이 대기하는 곳
  • 저장소 repository
    ✓ 스테이지에서 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳

 

버전 만드는 과정

  1. 작업 트리에서 작업: 파일 생성, 파일 수정 등
  2. 버전으로 만들고 싶을 때는 스테이지에 넣습니다.
    ✓ 여러 개의 파일을 스테이지에 넣을 수 있습니다.

3.  "커밋 commit" 명령을 내리면 새로운 버전이 생성되면서 저장소에 저장

 

파일 수정하기

작업 트리에서 파일 수정하기전에 hello.txt라는 파일을 하나 만들어뒀습니다.

  • Git 상태 확인: git status
    ✓ 현재 branch main에 있습니다.
    ✓ 아직 커밋한 파일이 없습니다.
    ✓ 커밋해야 할 파일이 1개 있는 것을 확인할 수 있습니다.

현재 상태

 

수정(또는 생성)한 파일 스테이징 하기

  • 스테이징 staging
    ✓ 작업 트리에서 수정한 파일을 스테이지에 추가하여 버전 만들 준비를 하는 것입니다.
    ✓ 명령어: git add
  • "hello.txt"를 스테이징 하기: git add hello.txt
  • git 상태 확인: git status
    ✓ hello.txt. 파일이 untracked files에서 changes to be committed로 바뀐 것을 확인할 수 있습니다.

현재상태

스테이지에 올라온 파일 commit 하기

  • 커밋 commit
    ✓ git 에서 버전을 만드는 작업
    ✓ 커밋할 때는 해당 버전에 어떤 변경 사항이 있었는지 확인하기 위해 메시지를 기록해 두어야 합니다.
    ✓ 명령어: git commit
  • 커밋하기: git commit -m "수정한 내용1"
    ✓ 스테이지에 있는 모든 파일이 커밋되고, "수정한 내용1"이라는 커밋 메시지가 기록됩니다.
  • 깃 상태 확인: git status
    ✓ nothing to commit, working tree clean

 

저장소에 저장된 버전 정보 확인

  • 저장소에 저장된 버전 확인: git log
    ✓ 방금 commit한 버전에 대한 설명(commit hash, commit한 사람, 시간, commit 메시지)이 나타납니다.

 

stating과 commit 한번에 처리하기

  • 스테이징과 커밋을 한번에 처리하는 방법이 있습니다 (단 한번 commit 한 이후부터 사용 가능합니다)
    ✓ 명령어: git commit -am
  • 에디터로 hello.txt 파일 수정하기: nano hello.txt
  • git 상태 확인: git status
    ✓ hello.txt 파일이 "modified" 상태로 변경된 것을 확인할 수 있습니다.

 

변경사항 확인하기

파일 내의 변경사항을 확인할 수 있는 방법이 존재합니다

  • 목표: 현재 수정하고 있는 파일들과 최신 커밋을 비교하여 변경사항 확인하기
  • hello.txt 파일 변경하기
  • 변경사항 확인: git diff
    ✓ 특정 파일에 대해서만 변경사항을 확인하고 싶은 경우 "git diff 파일이름" 실행
  • 수정한 파일을 최신 commit 파일로 되돌리기: git checkout --hello.txt
    open hello.txt 를 사용하여 최신 커밋 파일로 되돌려진 것을 확인합니다.

 

여러 파일 수정하기

  • 2개의 파일을 모두 스테이징 하기: git add *
  • 상태 확인: git status
  • commit하기: git commit -m "commit all"
  • commit 확인하기: git log --stat
    ✓ --stat 옵션: 커밋한 파일을 출력

 

상태 이해하기

  • 파일을 생성해서 커밋을 하면 untracked에서 tracked 상태가 됩니다
  • tracked 상태에서는 unmodified, modified, staged 간 상태 변경을 합니다.

 

작업 되돌리기

작업 트리에서 수정한 파일 되돌리기

  • 수정한 내용을 취소하고 가장 최신 버전 상태로 되돌림
  • 명령어: git checkout -- 파일이름

 

스테이징 되돌리기

  • 스테이지에 올린 파일을 취소하여 다시 modified 상태로 만듭니다
  • 명령어: git restore --staged 파일이름

스테이징된 파일 워크 트리로 내리기

  • 스테이징된 파일을 다시 워크 트리로 내릴려면: git reset HEAD 파일이름을 사용합니다.

최신 커밋 취소하기

  • 수정한 파일을 스테이징하고 커밋까지 했을 때, 가장 마지막에 한 커밋을 취소하기
  • 명령어: git reset HEAD^

특정 커밋으로 되돌리기

  • git에 저장된 다양한 버전들 중 원하는 특정 버전으로 되돌릴 수 있음
  • 이 경우, 특정 버전 이후의 버전은 삭제됩니다.
  • 명령어: git reset 커밋해시

 

 

 

 

 

 

 

 

 

'Git' 카테고리의 다른 글

Github 에 올린 json 파일 불러오기  (0) 2024.10.09
ytw_developer