-
Git / Github 공부 1etc. 2021. 9. 3. 01:31728x90
Git 이란?
: 모든 파일들의 과거의 저장 상태를 가져오기 쉽도록, 또는 협업하기 쉽도록! Like 평행우주
Git을 사용하는 방법은 크게 두 가지가 있다
1. CLI
2. GUI (Source Tree 같은 걸로~!)
Git 사용법
1. Git 저장소 만들기
- 컴퓨터에서 프로젝트를 진행할 폴더를 만든 후, 해당 폴더를 VS code로 연다
- 방법 1) Source Tree로 만드는 법
- 메뉴 바에서 create을 눌러 프로젝트 폴더를 열어준다
- 방법 2) CLI로 만드는 법
- Command 창에서 해당 폴더의 경로로 들어간다
- git init 입력 -> 빈 저장소가 만들어졌다는 메세지가 뜬다 / git의 관리 하에 두겠다는 뜻!
- git config --global user.name "(내 이름)"
git config --global user.email "(내 메일 주소)" 로 등록해준다 - 해당 프로젝트의 폴더 내에 .git이라는 폴더가 생성되고, 거기에 폴더의 시공간이 저장된다
2. 현재 시점을 저장하기
- git status로 눌러 아직 저장소에 담기지 않은 파일들(untracked files) , 담을 것들(Changes to be commited) 등 그 상태를 확인할 수 있다
- git add -A : 이 곳의 모든 것을 git의 타임 캡슐에 저장하겠다! 이랬을 때 untracked files 들이 commited로 바뀐다
- git commit -m "(해당 파일의 설명을 적음 First Commit 이런 식으로! )": 설명을 적어주면서 타임 캡슐을 묻어준다
- git log : 묻은 캡슐들의 정보들과 메세지들이 뜬다
3. 과거로 돌아가기
3-1. 과거로 돌아가기 by reset
- 과감하게 돌아갈 과거 이후 행적은 완전히 지워버리겠다는 거
- 방법 1) CLI
- git log를 눌러 commit: 이후로 뜨는 일련번호 여섯 자리만 복사한 다음,
- git reset (일련 번호 여섯 자리) --hard 입력
- 방법 2) Source Tree
- History에서 해당 시점을 오른쪽 클릭 후, "이 커밋까지 초기화" 눌러서 옵션 hard 선택
- 방법 1) CLI
3-2. 과거로 돌아가기 by revert
미래에서 한발 걸치고 과거로 돌아가기 (취소할 시점으로)
- 방법 1) CLI
- git log를 눌러 commit: 이후로 뜨는 일련번호 여섯 자리만 복사한 다음,
- git revert (일련 번호 여섯 자리) 입력, 아래 사진과 같이 변화한다
4. 평행 우주 넘나들기 by branch
수정을 할 때 똑같은 파일을 복사하여 나만의 새로운 branch에서 작업
- git branch my-idea : my-idea라는 새로운 branch 생성
- git checkout my-idea : my-idea라는 branch로 이동
- git checkout master : 원본 branch로 돌아오기
5. 다른 우주에서 가져오기
5-1. 다른 우주에서 가져오기 by merge
- git check master을 통해 현재 branch를 이동 후,
- git merge my-another-idea를 통해 현재 branch(master)에 my-another-idea의 정보를 가져오고
- :wq를 눌러 저장하고 나간다
-> 여러 갈래들이 합쳐지는 게 그대로 log에 남는다
5-2. 다른 우주에서 가져오기 by rebase
그러나, 모든 변경 사항이 합쳐지는 게 기록에 남지않고, 깔끔하게 하나로 합쳐지길 바랄 때 rebase 사용!
참고: https://www.youtube.com/watch?v=FXDjmsiv8fI&t=409s
Github 이란?
: Git에서 작업한 내용을 클라우드처럼 온라인으로 저장할 수 있는 저장소들 중 가장 많이 쓰이는 곳!
Github 사용법
1. Github 저장소 만들기
repository 만든다 ( public / private )
2. Github에 소스 올리기
- 방법 1) CLI
- git status로 현재까지의 사항들 확인 후, 모두 commit되었는지 확인 (빠진 게 있다면 git add -a )
- git remote를 통해 현 폴더의 원격 레파지토리를 확인한다 (설정한 게 없으면 아무것도 안 뜬다)
- 원격 레파지토리 설정을 하려면 github에 있는 레파지토리에서 아래와 같은 command line 복붙 (origin이라는 이름의 원격 저장소로 설정한다 / origin은 기본값 )
- git push origin master 통해 Github에 추가 가능
- 방법 2) Source Tree
- '저장소 메뉴'를 눌러서 '원격 저장소 추가'를 선택하고, 원격 이름과 레파지토리 주소, user 이름을 넣는다
- remote탭에서 원격 레파지토리 이름 확인 가능
- Push해줘서 레파지토리에 올림
3. 다루지 않을 파일들 설정
.gitignore 파일을 사용하여 보안상 중요한, 또는 불필요한 파일들을 다루지 않을 수 있다
- 프로젝트 폴더의 최상위 공간에 .gitignore 파일을 생성한다
- .gitignore 내에 올리지 않을 파일 명을 입력하면 git status를 입력했을 때 뜨지 않는다
4. Github의 소스 내려받기
git clone [레파지토리 주소] 입력
5. 작업 주고 받기
git commit 코드 작성법 확인해보기!
- git fetch : github의 새 소식 받아보기
- git status : behind 'origin/master' by 1 commit. 이런 식으로 나오면 Github에서 다운 받아야 할 사항이 있다는 거
- git pull (원격명) (브랜치명) : 변경사항을 반영하고 내 commit 내역까지 반영됨ㅇㅇ
6. branch 주고 받기
- git branch (브랜치명) 으로 브랜치 생성하고 git checkout (브랜치명)으로 넘어가는 것 배움!
-> 이를 한번에 하는 방법 git checkout -b (브랜치명1) (브랜치명 2) : 원격의 브랜치2 내용을 받아와서 브랜치1로 생성한다!
참고: https://www.youtube.com/watch?v=GaKjTjwcKQo
https://corinediary.tistory.com/2
728x90'etc.' 카테고리의 다른 글
Git / Github / Markdown 공부 2 (0) 2021.11.21 pycharm 설치 및 우분투 menu에 아이콘 설정 (0) 2021.09.19 nvidia graphic card 설치 및 Cuda & Cudnn 설치 (0) 2021.09.19 requirements.txt 만들고 설치하기 (0) 2021.09.03 Docker 쓰는 이유와 설치 방법, 명령어 (0) 2021.08.30