IssuedAt : 25 - 09 - 26 (금)
Daily Study : 10
Git을 사용하는 이유
GIt은 프로젝트의 시간과 차원을 자유롭게 넘나들 수 있도록 해준다.
시간 : 프로젝트의 버전을 과거로 되돌리거나 특정 내역을 취소할 수 있다.
차원 : 프로젝트의 여러 모드를 쉽게 전환하고 관리할 수 있다.
Git은 여러 사람들이 프로젝트에서 협업할 수 있도록 도와준다.
Git 설정 & 프로젝트 관리 시작하기
Git 전역으로 사용자 이름과 이메일 주소 설정
git config --global user.name "본인 이름"
git config --global user.email "본인 이메일"
# 아래 명령어들로 확인
git config --global user.name
git config --global user.email
기본 브랜치명 변경
git config --global init.defaultBranch main
기본 브랜치명을 변경하게 된 이유가 기존엔 master slave 라는 브랜치명이었는데, 이것이 흑인노예들과 그들의 주인이란것을 연상시키는 단어라 기본 브랜치를 main으로 변경하라고 권유하고 있고, github 도 master -> main 으로 변경이 되었다.
깃 초기화 폴더 관리 시작
git init
파일들 생성 후 저장 이후
git status
명령어를 주게 되면 만든 파일들이 빨간색 텍스트 표시로 아직 깃에서 관리가 되고 있지 않은데 해줄까? 라는 식으로 물어본다.
Git에게 맡기지 않을 것들
포함할 필요가 없거나 포함하지 말아야 할 때 Git 에게 맡기면 안된다.
- 자동으로 생성 또는 다운로드되는 파일들 (빌드 결과물, 라이브러리)
- 보안상 민감한 정보를 담은 파일
.gitignore 파일 생성
# 이렇게 #를 사용해서 주석
# 모든 file.c
file.c
# 최상위 폴더의 file.c
/file.c
# 모든 .c 확장자 파일
*.c
# .c 확장자지만 무시하지 않을 파일
!not_ignore_this.c
# logs란 이름의 파일 또는 폴더와 그 내용들
logs
# logs란 이름의 폴더와 그 내용들
logs/
# logs 폴더 바로 안의 debug.log와 .c 파일들
logs/debug.log
logs/*.c
# logs 폴더 바로 안, 또는 그 안의 다른 폴더(들) 안의 debug.log
logs/**/debug.log
Git 변화를 타임캡슐에 담아 묻기
변경사항 확인
git status
파일 하나 담기
git add 파일명
모든 파일 담기
git add .
커밋 메시지와 함께 타입캡슐 묻기
git commit -m "메시지"
add와 commit 한번에
git commit -am "메시지"
새로 추가된 untracked 파일이 없을 때 한정이다.
Git 과거로 돌아가는 방법
reset : 원하는 시점으로 돌아간 뒤 이후 내역들을 지운다.
- 시간을 과거로 되돌린다.
git reset --hard 돌아갈 커밋 해시
reset 사용하게 되면 현재 위치에서 돌아갈 위치에 그 사이에 모든 commit 내용이 사라진다 진짜 정말 위험하다.
revert : 되돌리기 원하는 시점의 커밋을 거꾸로 실행한다.
- 해당 하는 버전을 삭제하는 것이 아니라 그 때의 변화를 거꾸로 수행하는 캡슐을 하나 넣음으로써 추가한 게 있으면 삭제하고 변경한 게 있으면 그걸 반대로 수행하는 것이다.
- 이런 것 하나하나도 기록으로 남길 필요가 있을 때 이 방식을 사용한다.
한 번 공유가 된 커밋들은 revert를 이용해서 되돌려야 한다 꼭!
'TIL & STUDY' 카테고리의 다른 글
| Daily Study : 12 (1) | 2025.09.29 |
|---|---|
| Daily Study : 11 (0) | 2025.09.27 |
| Daily Study : 9 (1) | 2025.09.25 |
| Daily Study : 8 (0) | 2025.09.24 |
| Daily Study : 7 (0) | 2025.09.23 |