-remote가 가장 최신 버전일 때 변경사항(커밋)을 로컬로 가져오기
git pull origin master
.gitignore 파일은 무시해야 하는 파일이나 폴더 적기 (캐시파일 같은거,,)
- gitignore.io 사이트에서 프로젝트에서 쓰일 법한 언어, 환경, 툴(윈도우s, 맥os, 파이썬, 파이참, 비쥬얼스튜디오코드, 장고 등)을 작성
전체 복사 -> gitignore 파일에 전체 붙여넣기 -> 저장
계속 gitignore 파일을 수정(커스텀)하면서 쓰기
- 한번도 comit 되지 않았을 때 gitignore 파일에 넣어야함 -> 이미 커밋했는데 지울 수 없음
- 빈 파일이라도 일단 만들어놓기!(중요)
커밋메세지
git commit -m '~~': 한 줄 커밋메세지 작성
git commit하고 엔터하면 vi 에디터로 들어가서 여러 줄을 작성할 수 있음
보통 개발자들은 다음과 같이 올림
커밋 컨벤션
type: subject(간략 내용)
body
-내용1
-내용2
footer
type 종류
feat: 새로운 기능 추가
fix: 버그 수정
docs: 문서 수정
style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
test: 테스트 코드
🌟브랜치(Branch)🌟
특정 커밋을 가리키는 포인터
아주 가벼운 포인터기 때문에 많이 만들고 지워도 됨
마스터 = 브랜치 = 포인터
브랜치는 보통 기능 단위로 나눔
HEAD -> main, origin/main : commit 3을 main 브랜치가 가리키고 있는 것
- HEAD: 현재 위치 표시 (여기에 있다)
- main: local (local의 main branch)
- origin/main: remote (origin의 main branch)
branch 생성 및 이동: git switch -c 'branch name'
c 옵션은 새로 생성(create)
feature-A는 local에 위치
추가 파일 만든 후 add, commit 까지 진행
- commit 3은 main이 가리키고 있고, 추가 파일은 feature-A가 가리키고 있음
이 상태에서 git switch main 입력하면 추가 파일 안보이고 로그도 바뀜 -> main branch는 commit 3한 작업 내역까지만 가지고 있기 때문
git switch feature-A 하고 새 파일 만들어서 add, commit 하고 다시 로그 확인 -> feature-A에 커밋 두 개가 보임 (commit 1부터 5까지 다 포함하고 있음)
현재 최종 상태