
- 개발자라면 떼놓으려고 해도 떼놓을 수 없는 git 과 github를 정리해보자
- 특강을 들으면서 정리해 둔 내용
# 버전이란?
- “프로젝트 범위”에서 유의미한 수정(변화)
1. 버전 관리 시스템(Version Control System, VCS)
- 버전 관리
- 백업, 복구
- (선택) 협업
2. 버전 관리 시스템의 종류
- 로컬식 : 내 컴퓨너 안에서만, 협업 X
- 중앙 집중식 VCS : 서버에서만 버전 관리(백업), 파일 하나하나
- 분산식 VCS : 모든 컴퓨터에서 "프로젝트 단위" -> 번거로운 / 위험성 X (ex. Mercurial, Bazaar, Git-Github)
3. 깃과 깃허브의 관계
깃은 OO식 버전 관리 시스템
- 깃은 우리들 컴퓨터에 설치하는 프로그램 “버전 관리”
- 우리 컴퓨터에서만 일어나는 일
- 만약 깃만 있다면 로컬식이라고 할 수 있음
- 깃과 깃허브를 같이 쓰는 것이 분산식
- 프로젝트 폴더 안에 깃이라는 폴더가 생김
- 버전이 생기고, 수정할 때 마다 깃에 변경 사항을 입력하면(명령어 입력하면) 깃 폴더 안에 버전 이전 상태를 기억하고 있음
- 깃은 이전 상태를 기억하고 돌아갈 수 있게 함
- 깃 폴더는 단 하나만 생성됨, 변경된 버전들은 새로운 폴더들로 생김
결론적으로
굳이 깃과 깃허브를 같이 사용하는 이유는 깃은 우리 컴퓨터에서만 동작하는 로컬식 버전 관리 시스템이기 때문에 협업할 때 사용하는 분산식 시스템 깃허브를 같이 사용하는 것 이다!
cf. 운영체제 : #스냅샷, #메모리(영역) 운영체제의 우선순위 중 가장 중요한건 메모리!
✨ 깃은 내 컴퓨터에 깔아두는 버전 관리 시스템 + 깃허브 소통 역할 까지
✨ 깃허브는 서버에 깔려있는 버전 관리 시스템 + 구글 드라이브 역할 까지
# CLI vs GUI
CLI(Command-Line Interface)
- 명령어 라인 인터페이스
- 명령어로 내가 원하는 것을 얻는 것
- cf. 쉘shell, Bash → 명령어를 쓰는 창
GUI(Graphic User Interface)
- 명령어는 모르고 그래픽으로 얻는 것
1. 자주 쓰이는 명령어
- init : 초기화
- 프로젝트 폴더 안에 git 폴더를 만들 때 사용
- 지금부터 니가 이 프로젝트 버전 관리 담당자야 하는 것
- status
- add
- commit
- log
명령어를 사용해 보자
- git add : 버전 관리해 줄 파일 추가
- git commit : "변경사항" 저장한다(=버전을 생성) / 커밋을 찍는다 (커밋 = 버전)
- git push : commit된 버전들을 깃허브에 올리는 명령어
- git clone : 깃허브 레파지토리를 컴퓨터에 처음 받아올 때
- git pull : 깃허브 레파지토리에 업데이트된 내용이 있을 때, 그 내용을 업데이트 하는 명령어
cf. 커밋은 지울 수 있을까요? NO
2. add 와 commit의 관계
add 하고 파일이 임시 공간에 들어간 후 커밋해야 버전을 저장하는 공간에 들어간다.
- 임시 공간: 다음 커밋을 치기 전까지(=버전 준비 중) 변경 사항을 모아서 commit을 통해서 버전을 만들어낸다.
📌 IDE(integrated development environment) : 통합 개발 환경
# 브랜치(Branch)
- git branch → 나뭇가지 목록을 보여주는 명령어
- 예를들어 git branch feature/login 하면 추가 됨
- 기능 추가
- 핫 픽스(에러 해결)
- 버전 별로 나누기
1. 브랜치 이름지을 때
- main branch
- feature/이름 (예를들어 feature/login, feature/product)
2. 새로만든 브랜치로 이동할 때
- git checkout feature/login
3. 만든 브랜치를 깃허브으로 올릴 때
- git push origin feature/login
수업 중 나온 질문
Q. master하고 main은 다른가요?
같은것! 기본 브랜치 이름이던 master가 차별적 의미를 담고 있어 최근 main으로 바뀐것.
📌강사님 블로그
'기록 > TIL' 카테고리의 다른 글
#04 IT 아티클 - 챗GPT (0) | 2023.12.10 |
---|---|
#03 package.json은 어떻게 구성되어 있을까? (0) | 2023.12.01 |
#02 사용해보고 싶은 CSS 아카이브 (0) | 2023.11.14 |

- 개발자라면 떼놓으려고 해도 떼놓을 수 없는 git 과 github를 정리해보자
- 특강을 들으면서 정리해 둔 내용
# 버전이란?
- “프로젝트 범위”에서 유의미한 수정(변화)
1. 버전 관리 시스템(Version Control System, VCS)
- 버전 관리
- 백업, 복구
- (선택) 협업
2. 버전 관리 시스템의 종류
- 로컬식 : 내 컴퓨너 안에서만, 협업 X
- 중앙 집중식 VCS : 서버에서만 버전 관리(백업), 파일 하나하나
- 분산식 VCS : 모든 컴퓨터에서 "프로젝트 단위" -> 번거로운 / 위험성 X (ex. Mercurial, Bazaar, Git-Github)
3. 깃과 깃허브의 관계
깃은 OO식 버전 관리 시스템
- 깃은 우리들 컴퓨터에 설치하는 프로그램 “버전 관리”
- 우리 컴퓨터에서만 일어나는 일
- 만약 깃만 있다면 로컬식이라고 할 수 있음
- 깃과 깃허브를 같이 쓰는 것이 분산식
- 프로젝트 폴더 안에 깃이라는 폴더가 생김
- 버전이 생기고, 수정할 때 마다 깃에 변경 사항을 입력하면(명령어 입력하면) 깃 폴더 안에 버전 이전 상태를 기억하고 있음
- 깃은 이전 상태를 기억하고 돌아갈 수 있게 함
- 깃 폴더는 단 하나만 생성됨, 변경된 버전들은 새로운 폴더들로 생김
결론적으로
굳이 깃과 깃허브를 같이 사용하는 이유는 깃은 우리 컴퓨터에서만 동작하는 로컬식 버전 관리 시스템이기 때문에 협업할 때 사용하는 분산식 시스템 깃허브를 같이 사용하는 것 이다!
cf. 운영체제 : #스냅샷, #메모리(영역) 운영체제의 우선순위 중 가장 중요한건 메모리!
✨ 깃은 내 컴퓨터에 깔아두는 버전 관리 시스템 + 깃허브 소통 역할 까지
✨ 깃허브는 서버에 깔려있는 버전 관리 시스템 + 구글 드라이브 역할 까지
# CLI vs GUI
CLI(Command-Line Interface)
- 명령어 라인 인터페이스
- 명령어로 내가 원하는 것을 얻는 것
- cf. 쉘shell, Bash → 명령어를 쓰는 창
GUI(Graphic User Interface)
- 명령어는 모르고 그래픽으로 얻는 것
1. 자주 쓰이는 명령어
- init : 초기화
- 프로젝트 폴더 안에 git 폴더를 만들 때 사용
- 지금부터 니가 이 프로젝트 버전 관리 담당자야 하는 것
- status
- add
- commit
- log
명령어를 사용해 보자
- git add : 버전 관리해 줄 파일 추가
- git commit : "변경사항" 저장한다(=버전을 생성) / 커밋을 찍는다 (커밋 = 버전)
- git push : commit된 버전들을 깃허브에 올리는 명령어
- git clone : 깃허브 레파지토리를 컴퓨터에 처음 받아올 때
- git pull : 깃허브 레파지토리에 업데이트된 내용이 있을 때, 그 내용을 업데이트 하는 명령어
cf. 커밋은 지울 수 있을까요? NO
2. add 와 commit의 관계
add 하고 파일이 임시 공간에 들어간 후 커밋해야 버전을 저장하는 공간에 들어간다.
- 임시 공간: 다음 커밋을 치기 전까지(=버전 준비 중) 변경 사항을 모아서 commit을 통해서 버전을 만들어낸다.
📌 IDE(integrated development environment) : 통합 개발 환경
# 브랜치(Branch)
- git branch → 나뭇가지 목록을 보여주는 명령어
- 예를들어 git branch feature/login 하면 추가 됨
- 기능 추가
- 핫 픽스(에러 해결)
- 버전 별로 나누기
1. 브랜치 이름지을 때
- main branch
- feature/이름 (예를들어 feature/login, feature/product)
2. 새로만든 브랜치로 이동할 때
- git checkout feature/login
3. 만든 브랜치를 깃허브으로 올릴 때
- git push origin feature/login
수업 중 나온 질문
Q. master하고 main은 다른가요?
같은것! 기본 브랜치 이름이던 master가 차별적 의미를 담고 있어 최근 main으로 바뀐것.
📌강사님 블로그
'기록 > TIL' 카테고리의 다른 글
#04 IT 아티클 - 챗GPT (0) | 2023.12.10 |
---|---|
#03 package.json은 어떻게 구성되어 있을까? (0) | 2023.12.01 |
#02 사용해보고 싶은 CSS 아카이브 (0) | 2023.11.14 |