Git, Git hub

[생활코딩 Git 1-2] 정리 노트

하금12 2023. 3. 18. 23:58

깃의 3대 목적 

1. 버전관리 
- 수정 버전 별로 저장 가능, 원하면 이전 버전으로 언제든지 돌아갈 수 있다
2. 백업 
- 문서가 유실되지 않도록 저장 
3. 협업 
- 다른 프로그래머들과 파일 공유하면서 push & pull 가능 
- push : 내가 수정한 파일을 다른 사람들이 보게 올리는 것 
- pull : 다른 사람이 올린 파일을 내려받는 것

 
GUI vs CLI 

GUI- Graphic User Interface 일반적으로 컴퓨터를 사용하는 방법 / 쉽게 사용 가능 
CLI - Command Line Interface 명령어 인터페이스 / 새로운 언어를 배우는 것과 같아서 어렵지만 익혀놓으면 다양한 장점 존재해서 개발자들이 선호( eg. 처리해야 할 일을 한번에 명령해서 자동화 가능, GUI로 제어할 수 없는 서버환경에서도 사용 가능)
 
명령어 
pwd : print working directory
/ : root directory
~ : home directory
cd : change directory
 ls -l : list in long format
touch : make empty file
.filename : make directory
ls -a : show all files
mkdir : make directory
./ : current directory
mv : move (rename) /  eg) mv '원래 파일명' '새 파일명'
rm -r : remove directory
 


CLI 버전관리

 

1. Create 생성 

git 파일 생성 -> 그 안에hello-git-cli 파일 생성 (mkdir hello-git-cli) ->  git init . (init하고 띄고  점)명령어 입력하여 버전관리 시작

 
Working tree = 버전으로 만들어지기 전 단계, 수정한 파일들
Staging Area = Working tree 에서 버전으로 만들 파일 선택 
Repository = 버전이 저장되어 있는 곳 (staging area에서 선택한 파일이 버전으로 만들어진 것)
 
hello-git-cli에 들어와서 nano hello1.txt 만들고1 적은 후 Ctrl X 누르기 > 저장 Y입력 후 엔터 

2. Read 

명령어 의미 
cat  메모에 적힌 내용 출력 (1이 적힌 것 확인 가능)
git status 상태 확인

 

 
no commits yet : commit은 버전의미 (아직 버전 X)
Untracked files : git은 명시적으로 어떤 파일을 버전관리할 것인지 알려줘야 버전관리 시작한다. 아직 버전관리 시작하라고 말하지 않았기 때문에 untracked로 표시

 

3. Update 

명령어 의미 
git add 파일명  파일을 stating area에 올리는 것
해당 파일을 track 하라고 명령 
git .  현재 디렉토리 밑에 있는 모든 파일을 staging area에 올림
git add 디렉토리명 해당 디렉토리 밑에 있는 모든 파일을 staging area에 올림
git commit 버전 생성 명령 
(enter 누르면 기본 에디터가 나와서 수정 가능 
 git commit -m "내용" : 명령어로 한번에 수정 가능)
여기서 “내용“ 은 뭐가 수정되었는지 적으면 됨
git commit -am  add와 commit을 한번에 해결 
하지만 한번도 add 된 적 없는 파일은 이렇게 못함 
git log
버전의 역사를 보는 것 

git init : initialize repository
.git: git repository
git status: working tree statu
git add: add to staging area
git commit: create version
git log: show version

명령어 의미 
git diff   difference / 어떤 게 수정됐는지 알려줌
git reset --hard 가장 최근에 한 수정이 사라짐
git checkout 버전코드  버전코드의 버전으로 돌아감 
git checkout master 최근 수정한 버전으로 돌아감

처음 git log 에서 Message 3까지 있는 거 확인 가능 
Message2의 버전으로 돌아가기 위해 해당 코드 복붙해서 git checkout 실행 
다시 git log 확인해보면 Message 2까지로 돌아간 것 확인 가능

git checkout master 명령 -> 다시 최신 버전으로 돌아감 
 
 

4. Delete

명령어 의미 
git reset 버전코드  해당버전으로 리셋 (해당버전이 되는 것)
rest --(hard, mixed, soft) 등 선택 가능

 

 

.git ignore 파일명 = 버전관리하고 싶지 않은 파일에 사용