티스토리 뷰
65차 비개발자를 위한 Git 과 Github Page 블로그 만들기 - 안수빈(@subinium)
영상 출처 : https://www.youtube.com/watch?v=YQat_D1C-ps
[목차]
Git 기초
1. Git이 필요한 이유
2. Git의 기본 Idea
3. Easy Git
Github 실습
1. Git과 Sourcetree
2. 예시와 함께하는 기초 명령어
3. 알아두면 좋은 심화 명령어
Github Page 활용하기
1. Markdown 문법
2. Github Page 구조 및 실습
3. 앞으로 관리 방법
Git 기초
1. Git이 필요한 이유
Git이 무엇이고, 왜 써야할까?
초보 개발자에게 Git이란?
끊임없는 수정본의 문제점
1. 변경 사항 파악 어려움 : 무엇을 바꿨는가?
2. 되돌리기 어려움 : CMD / CTRL + Z 의 한계, 삭제 파일 추적 불가
3. 용량 차지 : N개가 있다면 N배
4. 협업이 어려움 : 누가 언제 무엇을 건드렸나
우리가 원하는 것은 시간여행처럼 원하는 시점으로 움직이기만 하고 싶다!
VCS(Version Control System, 버전 관리 시스템)
파일의 변경 사항을 저장하고, 원하는 시점의 버전을 다시 꺼내올 수 있는 시스템
Snapshot 특정 시점에서 파일의 상태(현재 상태의 모든 정보)
Delta 파일의 이전 상태와 비교한 변경사항
CVCS(중앙집중식 버전 관리 시스템) → 과거
DVCS(분산 버전 관리 시스템) → 현재
2. Git의 기본 Idea
1991 ~ 2002
리눅스(Linux) 의 단순한 버전 관리
2002 ~ 2005
BITKEEPER - 리눅스(Linux) 커널에서 DVSC인 BitKeeper 사용
2005 ~
Git - 빠른 속도, 단순한 구조, 비선형적인 개발, 완벽한 분산, 리눅스(Linux) 커널 같은 대형 프로젝트에도 유용할 것
Subversion(SVN)
CVCS(중앙집중식 버전 관리 시스템) 중 대표적인 시스템
파일의 모든 변경 사항을 저장하는 방법
Git
DVCS(분산 버전 관리 시스템), 저장소의 파일 시스템 전체를 스냅샷으로 취급
변경하지 않은 파일은 새로 저장하지 않고, 링크만 저장
3. Easy Git
1단계 Git 사용 선언
↓
2단계 파일을 추가/수정/삭제
↓
3단계 원하는 변경 사항 선택
↓
4단계 상태 업데이트
1단계 Git 사용 선언
선언과 저장소(Initialization & Repository)
흔히 Repo(레포)라고 부름
사용자가 변경한 모든 내용을 추적하는 공간(하나의 디렉토리로 볼 수 있음)
현재 상태, 변경 시점, 변경한 사용자, 설명 텍스트 등 저장
Git은 이제 Local에서 가능한 상태
모든 것은 Local에서 저장 및 버전 관리 기능(서버 죽어도 상관없음)
원격 서버에는 나중에 올릴 수 있음
즉, Wi-Fi 없는 환경에서도 작업 가능
Git은 데이터를 추가만 할 수 있다.
파일 삭제 == 삭제 기록 추가 => -1 == +(-1)
데이터베이스에 저장한 순간부터는 삭제까지 추적
하지만 Git은 파일을 추적하지 않는다.
Git은 신기하게 파일을 추적 X
대신 파일의 내용 단위로 추적하고, 각 문자와 줄을 추적
빈 디렉토리는 추적 X
2단계 파일을 추가/수정/삭제
어떤 파일이 상테에 따라 계속 바뀌고, 딱히 저장할 필요가 없다면?
저장하지 말고, 굳이 관리하고 싶지 않은 파일은 따로 처리(Untracked / Tracked)
Git이 추적하는 파일은 총 3가지 상태로 구분
- Unmodified : 이전에 버전과 비교하여 수정된 부분이 없는 상태
- Modified : 이전에 버전과 비교하여 수정된 부분이 있는 상태
- Staged : 저장(커밋)을 위해 준비된 상태(스테이징, Staging)
3단계 원하는 변경 사항 선택
스테이징(Staging)을 하면 커밋(Commit)하고 싶은 파일 선택
커밋(Commit)을 하면 새로운 버전으로 업로드
스테이정(Staging)은 업로드를 2번 하는 과정으로 보이는데 왜 굳이 한 번 더 과정을 거치는걸까
- 커밋 전, 스테이징이 필요한 이유(1) 여러 작업 중, 일부분만 커밋해야할 때
4단계 상태 업데이트
내용을 주소로 활용(Content-addressable Key-Value Storage)
상태를 찾기 위해서는 Key가 필요, 버전의 주소
내용(파일 구조)등을 Hash 값으로 만들고 상태를 나타냄
여기서 SHA1 해시 값을 사용하여 40자리로 표현
기본적인 홀로 Git 사용법은 끝났습니다
이것만 하더라도 버전 관리는 가능합니다.
Git은 꼭 코드를 알아야하나요? No!
sourcetree와 같은 GUI 이용
https://www.sourcetreeapp.com/
하지만 코드도 조금 알면 편하다.
Terminal, git bash 등
상황에 따라 코드 or GUI 사용
실습 내용(영상 참고)
'백엔드 개발' 카테고리의 다른 글
[토크ON세미나] Git & Github Page 블로그 만들기 4강 - Github Page 활용하기 (0) | 2021.08.12 |
---|---|
[토크ON세미나] Git & Github Page 블로그 만들기 3강 - Github 실습II (0) | 2021.08.11 |
[토크ON세미나] Git & Github Page 블로그 만들기 2강 - Github 실습I (0) | 2021.08.11 |
Git은 뭐고 Github은 뭔가요?(+오픈소스) (0) | 2021.08.09 |
테이블 생성 시 기본키를 사용하는 이유 (0) | 2021.07.21 |