Git 개념 배우기 1

김헤일리·2022년 11월 9일
0
  • 강의를 통해 git에 대한 개념을 제대로 잡고 가야겠다.
  • 이번 강의는 개념 이해를 위해 터미널 명령어보다 더 직관적으로 sourcetree를 사용했다.

0. [ git / github ] 은 무엇일까?

GIT:

  • 원격으로 프로젝트를 관리할 수 있는 도구 정도로 일단 개념을 알고 지나간다.
    • 작업한 내역 관리하는 것에 굉장히 직관적이고 효율적!
    • 작업한 내역을 일종의 스냅사진으로 남기고 그 흔적을 repository라는 가상의 공간에 저장한다.
    • 이때 가상 공간에 저장하는 행위를 "commit"이라고 한다.

GITHUB:

  • git이 원격저장소의 역할을 하고 있다면, github은 원격저장소 + 커뮤니티의 성격을 갖고 있다.
    • 깃으로 업로드 했던 작업 내역들을 확인할 수 있다. - 히스토리 파악
    • 다른 개발자의 repo에 접근해서 소스코드를 볼 수 있다.
    • 다른 개발자에게 질문이나 소감 등을 남겨서 커뮤니티 활동 비슷한 것을 할 수 있다!
    • !!!보통 깃과 깃헙 둘 다 사용한다.!!!

사용자는 명령어를 통해 Git을 제어하거나 UI툴을 사용한다.

  • 보통 터미널로 명령어를 입력해서 git을 제어하고 UI툴은 보조적인 의도로 사용한다.
  • 이번 강의에선 sourcetree를 주로 사용해서 git에 대한 개념을 익힌다.


1. Git이 프로젝트를 관리하는 방식

Commit:

  • Git 에서는 '누가, 언제, 현재 프로젝트의 상태(작성된 코드)' 세 가지 정보를 포함해 작업내역을 관리한다.
  • commit은 현재 시점의 프로젝트의 상태를 남기는 것을 의미한다. (스냅사진!)
    • 변경 사항을 저장하는 것 보다, "현재상태" 를 저장하는 것
  • commit을 하는 순간 그 당시의 모든 정보가 기록된다.
    • 커밋 시 메세지를 작성해서 작업내용에 대한 abstract을 추가할 수 있다.
    • 삭제된 내용은 붉은 색, 추가된 내용은 초록색으로 표시된다.
    • 커밋은 그 자체로 history가 될 수 있기 때문에, 커밋 메세지는 내가 작업한 내역을 간단하면서도 확실하게 보여주는 메세지로 작성해야한다.

  • 커밋을 하는 경우, 커밋해야하는 횟수는 소스트리에 표시된다.
  • 여러개의 파일을 수정했을 때 일부만 커밋할 수 있다. (ex. 3개 중 1개)
    • 여러개의 프로젝트를 돌리는 경우, 작업 내역이 세분화 되어야 하기 때문에 전체를 커밋하지 말고 파일을 전부 따로 커밋해서 보다 명확한 커밋 메세지를 남겨놓을 수 있다.

  • Commit이 포함하는 정보:
    • commit id : commit 을 구분하기 위한 유일한 값. (커밋 자체가 하나의 단위)
    • 작업 일자 (날짜와 시간)
    • 작업한 사람(작성자 author)
    • 작업 내역 (commit 메시지)
    • 작업 내역의 순서 : 해당 commit 의 직전 commit 이 무엇인지 정보

  • 버전관리를 한다는 것은 프로젝트 히스토리를 파악한다는 것이다.
    • commit할 때마다 버전이 달라지는 것을 git을 통해 관리할 수 있다.

  • 처음으로 깃 프로젝트를 연결할 때 사용하는 명령어 : git init
    • 초기화는 처음에만 진행하고 그 이후 동일한 프로젝트에서 진행되는 내용은 add - commit을 통해 진행한다.

  • 파일 단위로 commit 할 수 있다.
    • commit 에 반영할 파일을 선택하는 것을 add 혹은 staging 이라고 한다.
profile
공부하느라 녹는 중... 밖에 안 나가서 버섯 피는 중... 🍄

0개의 댓글