[1주차] Git/GitHub (1) 내용 정리

ming·2022년 12월 26일
0

STUDY SOJU

목록 보기
1/19
post-thumbnail

👀 Git이란?

👉 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템.
(출처: 위키백과)

👀 왜 Git을 쓸까?

👉 여러 버전을 스냅샷으로 기록해두기 때문에 파일을 잃어버리거나 이전 버전으로 돌아가지 못하는 불상사가 발생하지 않도록 도와준다. 협업과 원활한 개발을 위해 사용할 줄 알아야 한다.

✍ Git의 Workflow

✍ Working Directory란?

👉 untracked
아직 tracking 되지 않은 파일.
기존에 있던 프로젝트의 git을 초기화하거나 파일을 새로 만들면 untracked 상태.
👉 tracked
modifiedunmodified로 나뉜다. checkout된 이후 수정 사항이 있지만 stage되지 않으면 modified 상태이다. modified된 파일만 staging area로 옮겨진다.

✍ Staging Area란?

👉 Git은 커밋 이전에 Staging area 또는 index라 불리는 상태를 가진다. 이 상태에서 커밋 내역을 검토하고 특정 파일만 먼저 커밋 후 일부는 나중에 커밋할 수도 있다.

✍ .git directory란?

👉 tracked & staged 상태
👉 add 명령어를 통해 파일을 Staging Area에 올릴 수 있다.
👉 git rm --cached를 이용하면 unstage(Staging Area-> Working Directory)가 가능하다.
👉 git diff --cached는 index와 HEAD 사이의 변화를 보여준다.


👀 GitHub이란?

👉 분산 버전 관리 툴인 깃의 저장소 호스팅을 지원하는 웹 서비스.

👀 왜 GitHub을 쓸까?

👉 Git을 이용해 분산 관리한 시스템도 내 컴퓨터 안에만 존재하기 때문에 컴퓨터가 고장이 난다면 이 자료들 또한 날아갈 수밖에 없다. GitHub에 코드를 업로드해서 그런 위험을 줄이고 다른 사람들과 협업도 하고, 소스에 대한 이력 관리와 소셜 코딩이 가능해진다!


✍ Git을 사용하는 방법

  1. CLI (Command Line Interface)
  2. GUI (Graphic User Interface)
    GUI 툴로는 소스트리를 많이 사용한다고 함.

✍ Git 기본 명령어 익히기

👉 같은 명령어를 수행하더라도 어떤 option을 사용하냐에 따라 다른 방식으로 진행이 된다. 우선, 자주 쓰이는 명령어를 알아보자.

  • git init 저장소 만들기
    로컬 Git 저장소를 설정한다.

  • git status 현재 상태 확인
    현재 작업 중인 파일의 상태를 확인한다.

  • git add 현재 상태 추적
    파일의 변경사항을 인덱스에 추가한다. Git은 커밋 전, 인덱스(staging area)에 먼저 커밋할 파일을 추가한다.

  • git commit 현재 상태 저장
    인덱스에 추가된 변경사항을 이력에 추가한다.

  • git log 이력 확인
    다양한 옵션을 조합하여 원하는 형태의 로그를 출력할 수 있는 강력한 기능.

  • git reset 이전 상태로 (이력 제거)
    특정 커밋까지의 이력을 초기화한다. 직전에 한 작업 또는 n번 전까지 작업했던 내용을 취소할 수 있다. 작업한 내용이 필요 없어질 때 사용한다.
    📌 이력이 지워지기 때문에 주의해야 함.

  • git revert 이전 상태로 (이력 유지)
    특정 커밋을 취소하는 새로운 커밋을 만든다. 여기선 3번 커밋을 취소하는 새로운 커밋을 생성하여 마치 2번 커밋 상태로 돌아간 것 같지만 기존 이력을 유지하는 모습을 확인할 수 있다.


    더 많은 명령어와 옵션을 익히고 싶다면 👇
    Git 공식 홈페이지: https://git-scm.com/docs

Source

0개의 댓글