※ 본 게시물은 T아카데미에서 제공하는 "Git & GitHub Page" 강좌를 정리한 내용입니다.
[사전 작업]
1. GitHub 계정 생성
--> 나는 이미 있음
2. 소스트리 설치
--> Git GUI 툴 설치 (관련 참고 포스팅 : https://goddaehee.tistory.com/276)
3. Visual Studio 설치
--> 난 Pycharm을 쓰니깐 넘김
Git 기초
Git : 소스 코드 버전 관리 시스템으로 로컬에서 변경 사항을 추적하고 원격 리소스에서 변경사항을 푸시하거나 가져올 수 있는 시스템
공식 사이트 : Git
Git이 필요한 이유
- VCS(Version Control System, 버전관리시스템) : 파일의 변경 사항을 저장, 원하는 시점의 버전을 다시 꺼내올 수 있는 시스템
- CVCS(Centralized Version Control Systems, 중앙집중식 버전 관리 시스템) : 중앙 서버가 존재.
- DVCS(Distributed Version Control Systems, 분산 버전 관리 시스템) : 각자 컴퓨터에 데이터가 존재.
- Snapshot : 특정 시점에서 파일의 상태(현재 상태의 모든 정보)
- Delta : 파일의 이전 상태와 비교한 변경 사항
Git의 기본 Idea
- 빠른 속도 / 단순한 구조 / 비선형적인 개발 / 완벽한 분산 / Linux kernel 같은 대형 프로젝트에도 유용
- Subversion(SVN) : CVCS(중앙집중식) 중 대표적인 시스템, 파일의 모든 변경 사항을 저장
↔ Git : DVCS, 저장소의 파일 시스템 전체를 스냅샷으로 취급, 변경하지 않은 파일은 새로 저장하지 않고, 링크만 저장
Easy Git
1. Git을 사용하겠다고 선언 : init
- Repo : 사용자가 변경한 모든 내용을 추적하는 공간(일종의 디렉토리)
- 현재 상태, 변경 시점, 변경한 사용자, 설명 텍스트 등..
- Git은 Local에서 가능한 상태 : 모든 것은 local에서 저장, 버전 관리 가능(서버 죽어도 ㄴ상관) == 인터넷 없어도 ㄱㅊ
- Git은 데이터를 추가만 할 수 있음 : 파일 삭제 == 삭제 기록 추가 / 데이터베이스에 저장한 순간부터는 삭제까지 추적
- Git은 파일을 추적하지 않음. = 파일의 내용 단위, 각 문자와 줄을 추적(빈 디렉토리는 추적 X)
2. 파일을 추가/수정/삭제
- 파일 상태 : 파일이 상태에 따라 계속 바뀌고, 딱히 저장할 필요가 없다면 저장하지 말고 굳이 관리하고 싶지 않은 파일은 따로 처리하자. == Untracked / Tracked
- Git이 추적하는 파일 :
(1) Unmodified : 이전 버전과 비교하여 수정된 부분이 없는 상태
(2) Modified : 이전 버전과 비교하여 수정된 부분이 있는 상태
(3) Staged : 저장(Commit)을 위해 준비된 상태(Staging, 스테이징)
3. 원하는 변경 사항 선택
Staging을 하면 커밋하고 싶은 파일 선택, Commit하면 새로운 버전으로 업로드
+) Staging을 쓰는 이유 : 1) 여러 작업 중, 일부분만 커밋해야 할때 2) 커밋 전 상태 수정 or 체크할때
4. 상태 업데이트(커밋 완료)
- 커밋을 하면 40자리의 숫자+알파벳조합의 Key값이 생김.
- commit hash값으로 Checkout하면 원하는 버전 이동까지 완료.
Terminal, Git bash를 알아도 좋지만, Sourcetree를 쓰는것도 한가지 방법이다.
'환경구축' 카테고리의 다른 글
Jupyter Lab(Jupyter Notebook)에서 Anaconda 가상환경 Kernel 추가하기 (0) | 2021.09.02 |
---|---|
[T아카데미_Git & GitHub Page] 2강 GitHub 실습(1)/ 3강 GitHub 실습(2) (0) | 2021.08.04 |
Google Colab 사용법 / 딥러닝(머신러닝) 환경 설정 (2) | 2020.12.28 |
Linux(ubuntu) 무선 랜 카드 드라이버(REALTEK RTL88x2B USB Linux Driver) 설치 (0) | 2020.08.24 |
Ubuntu CUDA 설치 + CUDNN (0) | 2020.07.16 |