개발공부일지
Git ① - git workflow, git add, git commit 본문
목차
1. Git이란?
2. Git 설정하기
3 .git
4. Git Workflow
5. commit 메시지 컨벤션
6. HEAD 옮기기
7. commit 되돌리기
8. 실습
1. Git이란?
- 버전 형상 관리
- 만약 A페이지에서 B페이지로 연결해 두었던 것을 C페이지로 변경했다가, 다시 B로 돌아갈 경우
- 소스코드를 건드리지않고 예전으로 되돌리기위해 사용한다.
- git 과 github는 다른것!!!
2. Git 설정하기
① Git 설치하기
sudo apt install git
# mac일경우
sudo brew install git
git config --global core.autocrlt input
git init
# Initialized empty Git repository in /root/cli/.git/
# git 으로 관리하겠다는 뜻
ls -al
# .git 디렉토리가 생겨남!
② Git 사용자 이름과 이메일 설정하기
git config --global user.name "boram-blockchain"
git config --global user.email "penguniee@gmail.com"
git config --global init.defaultBranch main
3 .git
- .git : 우리가 작업한 모든 히스토리를 보관하는 저장소 (버전관리)
- 스냅샷 (사진을 찍는다)
- 코드 작성을 하고 저장해 스냅샷을 찍으면 그게 .git에 저장이 된다.
- 그래서 내가 지정한 곳에서 원하는대로 이동할수있다.
(git을 잘하는사람은 스냅샷을 잘 조립할수있다는 것을 뜻한다.)
4. Git Workflow
① working directory
- Untracked : 추적되지 않음 (한번도 git에 관리된적이 없는 파일)
- Tracked : 추적됨
② staging area → "add"
③ Repository (.git) → "commit"
④ commit log
- git log 를 입력하면 "vi" 에디터로 commit log를 볼수있다.
- :q 로 나가기
5. commit 메시지 컨벤션
- feat : 새로운 기능 추가
- fix : 버그 수정
- docs : 문서수정
- style : 스타일 코드 수정(css말고 세미콜론같은거)
- design
- test
- refactor
- rename
- remove
6. HEAD옮기기
git checkout HEAD^
# 내기준에서 HEAD가 바로아래칸으로 내려간다.
git checkout HEAD~3
# 3칸아래로 내려간다.
git checkout [커밋번호]
git checkout master
git switch master #이게 최신문법
# 최상위로 올라가기
7. commit 되돌리기
① reset
git rest --옵션 [커밋해시값]
★ 옵션
- hard : 수정사항을 완전히 삭제한다 (강력함)
- hard의경우 8개중 6번째꺼를 삭제한다면
- 5번의 이름으로 hard를 하면 5번 위로 6,7,8 을 다 날려버린다.
- 굉장히 강력한 문법으로 사용하지않는게 좋다
- mixed : repository → working directory로 이동
- mixed 를 쓰면 working디렉토리에 들어가서 거기있는것들을 묶어서 커밋할수도있다.
- soft : repository → staging area 로 이동
② revert
git revert [커밋해시값]
8. 실습
1. development.json 저장 후 commit
2. setting.json 파일만들고 저장 후 commit
{
"port": 3000,
"message": "App listening on the port 3000"
}
3. setting.xml 파일 만들고 저장 후 commit
<root>
<port>3000</port>
<message>App listening on the port 3000</message>
</root>
4. test.json 삭제 후 commit
5. development.json 변경 후 commit
{
"database":"board"
}
vscode 내에서 git graph를 설치하면 git log를 그래프로 볼수있다. (소스제어)
※ git status 입력하면서 git 상태 확인해보기!!!!
※ commit 할때 마다 고유의 hash 값이 생긴다.
※ 원상복구 할때는 git reflog
※ VI에디터를 기본값으로 설정하기
git config --global core.editor "vi"
※ .gitignore
- 관리하고싶지않은 폴더나 파일을 추적하지 않게 처리하는 방법
- .gitignore 파일을 만들고 그안에 파일이름을 적어주면된다.
- package-lock.json
- node_modules
※ https://learngitbranching.js.org/
★ 한번에 한 커밋 위로 움직이는 ^ (캐럿)
git checkout main^
★ 한번에 여러 커밋 위로 올라가는 ~<num> (틸드연산자)
git checkout HEAD~4
★ branch강제로 옮기기
git branch -f mian HEAD~3
→ 강제로 main 브랜치를 HEAD에서 3번 뒤로 옮겼다는것
'ETC' 카테고리의 다른 글
Github - Repositories, token, (0) | 2023.08.22 |
---|---|
Git ② - Branch, merge, rebase (0) | 2023.08.21 |
Linux ② - User , Shell, Process, Package Manager (1) | 2023.08.17 |
AWS , PuTTY , FileZilla, apache (0) | 2023.08.16 |
WSL ① - 리눅스(Linux), 우분투(Ubuntu), CLI, 디렉토리 (0) | 2023.08.14 |