| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- UMAP
- CNN
- 랭그래프
- 생성형 인공지능
- SQL
- 에이전트
- 딥러닝
- 머신러닝
- 캐글
- RDBMS
- 알고리즘
- python기초
- Python
- 트랜스포머
- LangGraph
- Transformer
- 객체지향
- 데이터 시각화
- python 기초
- 소프트웨어 개발
- ASR
- 데이터엔지니어
- TTS
- CLIP
- 정보처리기사
- RNN
- 기초
- dementional reduction
- 자연어처리
- 힙정렬
- Today
- Total
수달이네 기술 블로그
2. Git, Github 개념 본문
버전관리
원하는 시점(버전)으로 이동할 수 있게 하는 것
- Save and load
- ctrl + z
버전관리 시스템의 필요성
- 전체 프로젝트를 전체를 저장하면 용량이 커짐
- 매 버전마다 모든 사항을 저장하게 되기 때문.
- 버전관리 시스템 → 변경사항만 저장해 가벼움.
- 팀프로젝트 시 동시에 수정할 경우 어떻게 해결할지 난항
- 각자 수정한 부분만 수정
- 겹치는 부분은 어떻게 할지 조정 가능
Git
소스코드 버전 관리 시스템
- 원하는 시점으로 자유롭게 이동 가능
- 데이터 저장 공간만 있으면 어디서나 git을 사용 가능(개인 컴퓨터, usb, 클라우드 서버등)
호스팅 사이트
Git으로 관리하는 프로젝트를 올려둘 수 있는 사이트이다.
- Github, Gitlab, Bitbucket등
깃허브
Github에 소스코드를 올려둘 경우 전 세계 개발자와 협업할 수 있다.
- 오픈소스 협업
깃 사용법
로컬저장소(.git 폴더)란?
- 평범한 폴더는 명령어(git init)를 통해 폴더 안에 .git숨김 폴더를 만드렁 버전관리를 함.

- 로컬 저장소를 생성할 폴더 선택 후, 해당 디렉토리에서 git bash실행
- git init → initialized empty Git repository in 위치(라고 출력됨)
- git으로 생성한 버전들의 정보와 원격저장소 주소등이 들어있는 숨김 폴더이다.
- .git폴더를 로컬저장소라고 부르고 이 폴더에 버전관리가 가능하다.
커밋(commit)
생성하는 각 버전(체크포인트)혹은 각 버전을 통해 생성된 파일을 커밋이라고 한다.

- git 숨김 폴더에 내 정보를 등록한다
- git config --global user.email [이메일 주소] : 이메일 주소 설정
- git config --glojbal user.name [유저 이름] : 유저 이름 설정
작업 폴더(Working directory)
사용자가 실제 파일을 수정하고 작업하는 공간.

버전 저장
파일 선택: 버전을 저장할 때 먼저 저장(커밋)할 파일을 선택해야 한다.(스테이징)
- git add [커밋할파일명] : 해당 파일을 선택해준다(커밋할 파일명에 . 을 입력할 경우 수정된 모든 파일을 스테이징한다.
커밋: 커밋 명령어를 통해 저장한다.
- git commit -m "커밋 설명" : 커밋 설명과 함께 커밋한다.
- 커밋 설명은 파일 생성 이유, 수정 이유 등 최대한 상세한 설명을 적는 것이 나중에 원하는 버전을 찾기 편하다.
커밋 기록 확인
커밋은 히스토리로 남게 된다. 이 히스토리를 잘 보면 커밋이 잘 되었는지 확인 가능하다.
- git log : 로그를 확인해준다.
- commit [커밋아이디] (헤드 여부) Author: 작성자 이름<작성자 메일> Date: 커밋 날자
커밋 설명
이 모든 커밋별로 출력된다. 나가고 싶으면 q
Checkout
다른 버전(커밋)으로 되돌아가는 개념
- git checkout [커밋아이디 앞 7자리] : 해당하는 커밋 아이디로 체크아웃된다.
- Head is now at 커밋아이디 가 뜨면 체크아웃 성공한것.
- 체크아웃에서 커밋하면 새로운 브랜치에서 작업한것임.
- 가장 최근 커밋으로 이동하려면 git checkout - 로 대체 가능
원격 저장소 업로드(Push)

깃허브 협업 프로젝트를 위해 만들어둔 공용폴더
- 웹사이트에 깃을 업로드 한것
- 깃허브에서 new repository기능으로 레포지토리를 생성
- https주소를 이용해 연결해준다 git remote add origin [https주소] : 깃허브 레포지토리와 깃 디렉토리를 연결해줌
- git push origin master : 깃허브에 깃 디렉토리 파일을 올려줌,
Clone
원격저장소의 코드와 버전을 로컬 컴퓨터로 내려받는 것.
- git clone [원격저장소명] . : 현재 폴더에 깃 내용을 내려받음
- . 이 있으면 현재 폴더에 내려받음, 없으면 레포지토리명과 같은 이름의 폴더가 생김.
- 해당 클론 폴더에서도 푸쉬 가능하다.
- [Download Zip]같은 방법도 있지만, 원격저장소와 버전 정보가 제외된다.
원격 저장소 다운로드(Pull)
가장 최근 커밋 업데이트가 있지만, 로컬엔 커밋이 반영 안된 경우 원격 저장소의 커밋을 갱신함
- git pull origin master : 깃허브의 파일을 깃 디렉토리에 업데이트
실수한 경우
실수한 경우 해당 커밋을 지우는 방법도 가능하다
- git reset --hard(or --soft) [커밋 아이디] : 해당 아이디까지 취소 가능
용어
Git: 깃, 로컬 버전관리 시스템
GitHub: 깃허브, Git으로 관리하는 프로젝트를 올려두는 사이트
GUI: Graphic User Interface: 마우스를 사용하는 방식
CLI: Commend Line Interface: 명령어를 이용하는 방식
GitBash: CLI방식으로 Git을 이용하는 환경
Commit: 커밋, 버전관리를 통해 생성된 파일,혹은 그 행위
Checkout: 체크아웃, 원하는 지점으로 파일을 되돌림
로컬저장소: Git으로 버전관리하는 숨김 폴더, .git
원격 저장소: GitHub에서 협업하는 공간(폴더)를 의미
레포지토리: 원격저장소를 의미
Push: 로컬저장소의 커밋을 원격저장소에 올림
Pull: 원격저장소의 커밋을 로컬저장소에 내려받음
'학교공부 > 오픈소스SW' 카테고리의 다른 글
| 5. 깃 브랜치 전략 (0) | 2026.04.23 |
|---|---|
| 4. 브랜치 병합과 충돌 (0) | 2026.04.22 |
| 3. 소스트리(GUI버전관리) + 깃허브 상세 (0) | 2026.04.22 |
| 1. 오픈소스의 개념, 역사, 라이센스 (0) | 2026.04.21 |