[Git] GIT 기본, GitHub 기본 명령어를 활용해보자.

 

 

버전 관리

버전이란? -> 의미한 수정

 

버전 관리의 필요성

  • 완벽한 코드라는 건 없다! -> 고도화의 연속으로 완벽에 가깝게 
  • 백업 용도 
  • 버전 자체의 완성도
    -> 업무의 안정성 부여

 

버전 관리 시스템 (Version Control System)

- 버전 관리

- 백업 복구

- 협업! 🌟

 

종류

1️⃣ 로컬 VCS

- 내 컴퓨터 안에서만 시스템을 설치해서 조금 더 쉽게,

- 백업복구버전관리 가능

- 협업X 

2️⃣ 중앙집중식 VCS

- 중심의 다른 컴퓨터에 저장 -> 필요한 파일 하나만 가져와서 사용 (꼬이기 쉬움)

- 중앙컴퓨터와 연결만 돼있다면 협업O

- ex)SVN, CVS
3️⃣ 분산 VCS

: 내 컴퓨터&다른 컴퓨터 모두 저장, 전체 통째로! (한묶음 단위, 더 안정적, 편리)

- ex) Git, Mecurial, Bazaar

 


깃 기본 이론 

로컬(내 컴퓨터에) 설치되는 시스템

분산식 버전 관리 시스템

👉 내 컴퓨터 안에서 버전을 관리해주는 시스템이자, 깃허브와 소통하는 시스템 🌟

 

깃허브 

깃이 모여 소통하는 중간역할

원격으로 중앙에서 우리 프로젝트를 백업, 버전관리, 협업 하게 해주는 시스템

내 컴퓨터의 폴더 ( = 프로젝트; 여러 개의 파일)를 하나의 묶음으로 버전을 생각

내 컴퓨터에서 관리해야하는 내 프로젝트의 히스토리들을 대신 관리해줌

👉 원격 컴퓨터에서 백업을 담당하는 시스템이자, 내 컴퓨터와 별도로 버전 관리도 해주는 시스템

 

내 컴퓨터에 깃이 깔려 있으면, 버전 관리를 로컬로 할 수 있을 뿐 아니라 깃허브와 소통(백업, 복구, ... 용도로 사용)

다른 컴퓨터에도 깃이 깔려 있으면, 깃허브를 통해서 소통(다운로드, 복제, 백업, ...) 할 수 있음 

👉  협업!

 

깃과 친해지기

명령을 하는 방법

1️⃣ CLI : 커멘드 라인 인터페이스, 명령 줄 인터페이스

에서 글자를 입력해서 컴퓨터에게 명령을 내리는 것 

🔺shell 조개를 통해 안에 있는 내용에 접근 ex) MS DOS, 명령프롬프트(cmd), 파워셸, Bash, Terminal, Windows Terminal .. 

 

2️⃣ GUI : 그래픽 유저 인터페이스

그래픽으로 컴퓨터에게 명령을 내릴 수 있도록, 사용자에게 화면을 제공 

 

명령어

`ls` list segments

 : 현재 폴더 안에 있는 파일/폴더 목록 모여줌

 

`ls -a`

: 숨김 파일(.으로 시작하는 파일까지) 전부 보여줌

 

`cd` Change Directory 

: 폴더를 이동(작업 경로 변경) 

 

`mkdir 폴더이름` make directory

: 새 폴더를 만듦


`git --version`

: git 버전 확인

 

`git status`

: git 상태 확인

 

`git init` initialize 🌟

: 현 폴더를 Git으로 버전 관리하는 저장소로 시작 -> 현재 폴더 안에 .git 폴더를 만듦

시작부터 트래킹 하고 있지 X

 

`git add 파일` 🌟

: 트래킹할 파일 지정 -> .git 에 '저장 하기 전에 버전 관리 중' 상태 적어둠

버전으로 만들 거 일단 모으면서 더 저장할 거없나 기다리는 중

 

`git commit

: 지금까지 모은 걸로 버전을 만들어줘. -> .git에 버전 0.1이라고 저장 -> add됐던 친구들 대기열 비워짐

이 상태에서 `c` 두번(change) 해서 insert 가능하게 

커밋메세지 `first comit` 입력, `esc`

 

`:wq` (저장하고 닫을게)

 

`git log`  


Github로 협업하기

`git remote -v`

: 현재 로컬 Git 저장소에 연결된 원격 저장소(remote)의 주소를 확인

 

Git History 다운로드

: git log를 GUI로 보여주는 도구 

 

과제 캡쳐본


이전에 써봤던 명령어 들이었는데, 생각해보면 그냥 감으로만 이해하고 정확히 이해하지 못했던 것같다.

특히 `init` -> `add` -> `commit` 과정을 그저 필요하고 당연한 과정으로 생각하고 기계처럼 쓰기만 했었던 것같은데,

git과 github의 연결과정을 완전히 이해하고 기본 foundation을 정립하고 공부할 수 있어 정말 좋았다.

 

그리고 이전에 진행했던 프로젝트에서 git 마무리를 해놓지 않아서 어떻게 새롭게 시작하는 걸 찾아보면서 진행해서

시간이 꽤 오래 걸렸다 ㅜㅜ 

 

전에 프로젝트를 진행하면서 git 충돌문제가 굉장히 많이 났어서 코드쓰는 것보다 터미널에서 많은 시간을 보냈던 것같은데,

다시 기초부터 정립해나가보니 충돌이 충분히 날만했던 것 같고^^,, 다음주의 Git 강의도 얼른 들어보고 싶을 정도로 흥미롭다. 

 

오늘 빌린 맥북도 도착했고

이틀동안의 휴가기간이 있으니 복습해서 정말 내것으로 만들어야지!!!!!!!!! 

zep 캐릭터 꾸몄다 ㅎㅎ 귀여워 맘에들어 (●'◡'●) 

내일 휴일이지만 zep 출석한다!

'Git' 카테고리의 다른 글

[Git] clone에서 pull request까지  (5) 2025.06.29
[GIT] VCS, GIT 쌩기초 용어정리  (0) 2025.06.29