[TIL-GIT] 1주차 Part2. 깃 처음 만나기

반 히·2024년 3월 4일

데브코스

목록 보기
3/58
post-thumbnail

📁 CH03. 버전 관리

📌 버전이란?

  • 버전은 유의미한 수정을 말함

    💡버전 (version)

    1. 이전과는 약간씩 다른 변화를 구분하는 것
    2. 어떤 프로그램을 수정, 개선하여 새로워지는 것

무언가 변화하고 수정된다고 해서 무조건 버전이라고 부르지❌
그 변화가 유의미해야만 우리는 새로운 "버전"이라고 부를 수 있음.🙆

📌 버전 관리의 중요성

  • 어떤 것이 변했는지 우리가 눈으로 찾는 것이 아니라 누군가가 쉽게 관리를 해주면 편함
  • 처음부터 완벽한 코드를 짤 수 없으며, 세상에는 완벽한 코드가 없음 ➡️ 코드는 수정이 계속 일어날 것임.
  • 버전 관리는 백업 용도. or 프로젝트나 일, 업무에 안정성을 부여해줄 수 있는 개념.
  • 버전 관리는 누가 해주나요?? 🙋‍♀️버전 관리 시스템
    • Version Control System
      - 버전 관리
      - 백업 복구
      - (선택) 협업

📌 버전 관리 시스템의 종류

📂 버전 관리 시스템의 종류는 크게 세가지로 분류함

  • ✔️로컬 VCS
    • 내 컴퓨터 안에서만 : 버전 관리, 백업 복구
    • 협업 X
  • ✔️중앙집중식 VCS
    • 중심에 (중간에) 컴퓨터를 하나 두고, 이 컴퓨터 안에 다 저장함
    • 내 컴퓨터에서 버전 관리를 하는 것이 아니라, 다른 컴퓨터에 백업 용도로 관리
    • 내가 필요한 특정 파일 하나만 가지고 와서 작업함 (필요한 파일 하나만..)
    • 협업 O
    • 대표적인 시스템으로 SVN, CVS 등이 있다.
  • ✔️분산 VCS
    • 내 컴퓨터와 다른 컴퓨터 모두에 저장함.
    • 파일 통째로.
    • 프로젝트 전체를... → 중앙 집중식보다 훨씬 안정적임
    • 소규모 프로젝트, 대형 프로젝트 (크고 작은 프로젝트에) 모두 적합
    • 대표적인 시스템으로 Git, Mecurial, Bazaar

📁 CH04. 깃 기본 이론

📌 깃은 00식 버전 관리 시스템입니다.

  • 분산
    • 깃은 로컬(내 컴퓨터에 설치되는) 시스템.
    • * 깃 허브는... 원격으로 중앙에서 우리 프로젝트를 백업해두고, 버전 관리 해주고, 협업도 하게 해주는 시스템 (깃들이 모이는 곳, 깃과 소통하는 중간 역할)
    • * 내 컴퓨터의 폴더(=프로젝트; 여러 개의 파일)를 하나의 묶음으로 버전을 생각해보자!
    • * 깃은 내 컴퓨터 안에서 버전을 관리해주는 시스템이자, 깃허브와 소통하는 시스템
    • * 깃 허브는 원격 컴퓨터에서 백업을 담당하는 시스템이자, 내 컴퓨터와 별도로 버전 관리도 해주는 시스템
    • 내 컴퓨터에 깃이 깔려 있으면, 버전 관리를 로컬로 할 수 있을 뿐 아니라 깃허브와 소통(백업, 복구, ...) 할 수 있다.
    • 다른 컴퓨터에도 깃이 깔려 있으면, 깃허브를 통해서 소통(다운로드, 복제, 백업, ...) 할 수 있다. ➡ "협업"

📌 내 컴퓨터에 깃 설치하기


📁 CH05. 깃과 친해지기

📌 CLI vs GUI

  • 명령을 하는 방법
    • CLI : 커멘드 라인 인터페이스; 명령 줄 인터페이스
      • 셸(이라는 프로그램; 창)에서 글자를 입력해서 컴퓨터에게 명령을 내리는 것
      • cf. 셸..? shell(조개..?)
        • Ex. MS DOS, 명령 프롬포트(cmd), 파워셸, ... 배쉬 / Terminal, Windows Terminal...
    • GUI : 그래픽 유저 인터페이스
      • 그래픽으로 컴퓨터에게 명령을 내릴 수 있도록, 사용자에게 화면을 제공

📌 자주 쓰이는 명령어는?

  • ✔️ ls : list segmentation; 이 폴더 안에 어떤 파일들이 있는지 목록을 보여주는 명령어

  • ✔️ mkdir : make directory; 디렉토리 만듦

  • ✔️ cd : change directory; 디렉토리 변경

    • cd .. : 이전 디렉토리로 돌아가기
  • ✔️git init : 버전 관리 시작. 이 폴더 버전 관리 해줘. → .git 폴더를 숨겨서 만들어놓음 → 폴더 안의 모든 파일을 봐주는 것이 아니라 따로따로 추가해야 됨.

    • 깃은 시작부터 다 트래킹하고 있진❌
  • ✔️git add 파일명

    • = git 친구야, 이 파일 이제부터 트래킹해줘. = 야, 이거 모아줘.
    • .git
      (버전 (저장 하기 전에) 관리 중 : test.txt)
    • 매번 수정이 일어날 때마다 add 해줘야 함
  • ✔️git status : 상태 물어보기. 저장소 내의 파일 상태 정보를 출력하는 명령.

  • ✔️git commit = 버전으로 저장할 것 모으고 있었지? 지금까지 모은 걸로 버전 만들어 줘.

    • 의미있는 변경 작업들을 저장소에 기록하는 동작을 말하는 것.
    • .git
      (버전 (저장 하기 전에) 관리 중)
  • ✔️git log : 저장소에 기록된 이력(commit history)를 출력하는 명령.

📌 GUI로 init, add, commit

  • GUI로도 가능!!
  • VCS의 소스 제어 버튼으로 가능

📌 깃 히스토리 설치하기

  • VCS의 extension에서 git history 다운 (시계 모양) → git log를 gui적으로...

0개의 댓글