본문 바로가기

Programming

깃,깃 허브를 배워보자

https://velog.io/@phantom5087/GitGithub-Git%EC%9D%84-%EB%B0%B0%EC%9B%8C%EB%B3%B4%EC%9E%90

 

[Git/Github] Git을 배워보자

Git이란? VCS Version Control System 으로 버전을 관리해주는 시스템입니다. 게임을 해보셨던 분들이라면, 버전시스템은 친숙하실겁니다! 웹 앱,게임 등과 같은 소프트웨어들의 버전을 관리할 수 있습

velog.io

GIT/Github / Git을 배워보자
Git 이란? 
VCS Version Control System으로 버전을 관리해 주는 시스템 
게임을 해보셨던 분들이라면, 버전 시스템은 친숙
웹 앱, 게임 등과 같은 소프트웨어 들의 버전을 관리 할 수 있음

버전은 'x.x.x'로 나타내는데, 'major.minor.patch' 이렇게 생각하면 됩니다.
예를 들어서, 1.0.0 -> 2.0.0 으로 갔다 ? 대격변이 일어난 메이저 패치, 1.0 ->
1.1로 갔으면 마이너 패치, 1.01 -> 1.0.2로 갔다? 사소한 변경 입니다.

 

 

 

1. GIt 버전을 관리하는 도구 -> 폴더를 관리 하는 도구
2. GItHub는 원격 저장소

 

개행문자가 window는 /r\n인데, \n만 있도록 해준다. 또, \n만 있을 때는 , /r를 붙여서 github에서 가져온다.

->처음에 git Branch 그리고 root branch를 메인으로 변경해주면 좋다
둘은 같은 개념이다

 

우선, / dev/fishingProject 라는 sharkkk가 먹이가 부족해서 시작한 생존프로젝트가 있다고 합시다. 거기에는 물고기 데이터인 Fish.txt , 낚시를 자동화 시킨 fishing.ts와 로그기록인 fish.log가 있다고 합시다. 그러면 Workspace에 아래와 같이 존재

1. 프로젝트

2. 물고기 데이터 .txt

3.자동화 시킨 .ts

4. 활동기록이 log 그러면

workspace는 아래와 같이

 

 

Workspace 즉, 내가 작업하고 있는 공간을 이야기 합니다. 개발 폴더를 가리킵니다. 여기 안에 있는 파일은 (특정 시점의 파일들) 그래서, 이 파일들을 'snap shot' 이라고도 합니다.

 

이때, shark는 오늘 낚시를 끝내고 log를 저장하려고 합니다. fish.log는 staging Area에 우선 들어갑니다.

이 (Staging Area는 최종 저장을 하기 전, 준비단계) 라고 생각하면 됩니다. 그래서, (중간 저장 하는걸

Caching) 이라고 하는데, cache라고도 함

 

1.work Space에서 Staging Area로 fish. log 파일 옴김

2. 중간 저장 할려고 Staging Area로 옴기고 -> caching이라고함 이과정을

 

Work Space, Staging Area , git repository

 

역과정은 Reset(git repo -> stage), rm --cached(stage ->workspace)라고 합니다.

 

fish.log는 하루가 지났기 때문에 더 이상 수정사항이 없다고 생각해서 확정을 지었습니다. 이 과정을 commit 한다고 합니다.

커밋 많이 들어 보셨죠! git repository에는 commit 기록이 남게 됩니다. 즉, git repositroy에는 우리 폴더의 변화된 History가 쌓이게 됩니다. 이걸로, 전버전으로 돌리는 등이 가능해집니다.

git ignore

 코딩을 하다보면, 알겠지만 민감한 파일들 DB 계정, 비밀번호 서버 접근 계정

 비밀번호 같은 민감한 정보가 있을수도있다. 그리고 굳이 git에 기록하지 않아도 되는 정보들도 있다

따라서 그런 파일들을 지정 할수 있도록 git은 .gitignore이라는 파일을 만들어서 무시할 수 있도록 지원한다.

 

git status 위와 같은 Git의 진행과정을 보기위해서 이 명령어도 자주쓴다.

보통은 git status -s 와 같이 짧은 명령어로 봅니다.