오늘 내가 배운 것
1. Git 기본과 Git 예외처리
2. Git 작동 순서도
3. Git 기본 명령어
4. Git으로 commit 하면서 작업하기
5. Branch (브랜치)
1. Git의 기본과 Git 예외처리
터미널에서 code . 을 작성하면 vscode가 호출된다.
vscode에서 맥북 기준control(^) + shift + ₩(백틱) 을 누르면 터미널 창이 하단에 생성된다.
그 창을 이용해서 CLI로 작업할 예정이다.
git으로 관리하고 싶지 않은 파일이나 디렉토리가 있을 때,
.gitignore 파일을 만들어서 파일 내에 형식에 맞게 확장자까지 작성하면 파일이나 디렉토리 내부 전체를 숨김 해준다.
- *.js
- 모든 js파일을 관리하지 않겠다.
- package-lock.json
- package-lock.json파일 전체
- node_modules/
- node_modules 특정 디렉터리 전체와 그 안에 있는 파일
2. Git 작동 순서도
3가지의 작업공간이 있다.
Working directory (작업 폴더)
- 현재 코드를 작성하고 있는 곳 : git에 의해 관리되고 있는 상태
Working directory 안에는 2가지의 상태에 따라 분류가 되는데- tracked (추적)
- 1번이라도 .git에 의해 관리된 적이 있는 파일
- untracked (추적되지 않음.)
- 1번도 .git에 의해 관리된 적이 없는 파일
- tracked (추적)
Staging area (대기소)
- 대기소 같은 영역
- .git으로 저장하기 전에 중간다리 역할을 한다.
단순하게 대기소 역할만 하기 때문에 큰 의미는 없다.
- .git으로 저장하기 전에 중간다리 역할을 한다.
repository (.git)
- .git폴더
- commit을 하여 .git 폴더에 데이터를 담은 상태이다.
3. Git 기본 명령어
Git 기본 명령어
- git statue :git으로 관리하는 파일의 상태를 확인할 수 있다.
- git add [파일명] : 특정 파일을 staging area로 추가하여준다.
- git add . : 모든 파일을 staging area로 추가하여준다.
- git rm --cached [파일명] : add로 추가된 파일을 취소한다.
- git commit -m "커밋메세지" : 커밋을 하고 커밋에 대한 설명을 적을 수 있다.
- 5-1. 커밋메세지 컨벤션(회사마다 컨벤션은 다르다.)
- feat : 새로운 기능추가
- fix : 버그수정
- docs : 문서수정
- style : 코드 스타일 변경
- design : UI변경
- test : test 코드 작성,리팩토리
- refactor : 파일명수정
- remove : 파일삭제
작업 내용을 목적에 맞게 적어야하고,
작업 내용을 최소단위로 1가지 커밋엔 1가지 작업을 해서 커밋메세지로 어떤 작업을 했는지 확인할 수 있게 해야한다.
- git reset : 커밋 이전으로 돌아감
- 옵션 : --hard [커밋해시값]
- 커밋해시값을 남기고 위에는 다 지운다.
지우고 working direcory와 repository가 같게 해 준다. - 하드는 완전히 지우는 것이지만 복구하는 방법이 있다.
get reflog 명령어로 삭제된 [커밋해시값] 확인 후
get reset --hard [커밋해시값]으로 복구한다.
- 커밋해시값을 남기고 위에는 다 지운다.
- 옵션 : --soft [커밋해시값]
- 커밋한 내용이 staging area(대기소)로 돌아간다.
add는 안 해도 되지만, commit은 해야 한다.
- 커밋한 내용이 staging area(대기소)로 돌아간다.
- 옵션 : --mixed [커밋해시값]
- 커밋한 내용이 working directory(작업폴더)로 돌아간다.
다시 add를 하고, commit을 해야 한다.
- 커밋한 내용이 working directory(작업폴더)로 돌아간다.
- 옵션 : --hard [커밋해시값]
- git revert : 이전 이력은 그대로 두고, 되돌릴 commit의 코드를 복사해서 head로 올려서 복구한다. revert를 사용하게 되면 이전 커밋과 비교해서 똑같은 파일에서 바뀐 부분이 있다면 컴퓨터가 무엇이 우선순위인지 모르기 때문에 사람이 직접 코드를 작성해야 한다.
- 옵션 : --abort :revert 를 취소하고 직접 확인하기
- 옵션 : --continue : 직접 코드를 정리해서 완료했다면
4. Git으로 commit 하면서 작업하기
작업 방법
#할일
1. username 바꾸자. root -> ingoo
2. database 속성 오타
3. test.json 패스워드 값 수정
4. setting.json 추가
5. setting.xml 추가
6. test.json 삭제
#진행중
#완료
위에처럼 작업 ToDo리스트를 이용해서 구분해서 작업을 할 수 있도록 하자.
5. Branch (브랜치)
branch : 나뭇가지라는 뜻을 가지고 있다.
위에서 했던 커밋은 한 줄짜리 커밋이었다.
이 한 줄짜리 커밋을 여러 갈래로 나눠서 만드는 것이 브랜치의 역할이다.
branch 생성하기
git branch [브랜치이름]
# develop 이라는 이름의 브랜치를 만들기
git branch develop
#만든 브랜치 확인하기
git branch
#브랜치가 2개 이상일 때, 브랜치 변경하기
git switch [브랜치이름]
#브랜치를 생성하면서 생성된 브랜치로 변경하기
git switch -c [브랜치 이름]
#브랜치 삭제하기 (현재 브랜치가 아니여야한다.)
git branch -d [브랜치 이름]
#브랜치 이름 변경하기
git branch -m [기존 브랜치이름] [바꿀 브랜치이름]
'시작 > TIL(Today I Learned)' 카테고리의 다른 글
221125 Linux - Github 기능 (0) | 2022.11.26 |
---|---|
221124 Linux와 Git / Branch(브랜치)합치기 /merge hell (0) | 2022.11.25 |
2211222 Linux - 사용자 계정과 그룹, 패키지 매니저 (0) | 2022.11.22 |
221121 Linux - 리눅스 기초 (1) | 2022.11.21 |
221118 실전예제 - CRUD 게시판 만들기 (2) (0) | 2022.11.19 |
댓글