내 컴퓨터 working directory (로컬 저장소)
원격 저장소 remote repository (구글 드라이브나 외부 저장소)
(푸쉬를 하지 않을 경우 로컬에만 있어서 외부 공유가 안됨)
직접 cmd에서 클론 받거나 인텔리제이에서 받거나 같다
이렇게 하면 .git 파일이 노출된다
cd (체인지 디렉토리) 경로 들어갈때 사용
on branch main - 메인 브랜치
untracked files - 스테이지에 올라오지 않은 깃에서 추적하지 않고있는 파일
해당 파일을 깃에 올리려면 우선 git add (전체를 올리려면 .온점을 쳐주면 다 올라간다)
i를 먼저 치면 밑에 인서트가 나오는데 그때 수정 가능
커밋 메세지 작성 이후 esc > :wp 하면 다시 터미널로 돌아감
커밋 메세지는 커밋 컨벤션이 있어서 해당 규칙에 맞춰서 잘 작성하기
git log 치면 현재 커밋 상태를 볼수있음
위 내용 재 복습
인텔리제이로 커밋해보기
인텔리제이 = IDE (통합 개발 도구)
파일 생성만 해도 인텔리제이에서 제공해주는 git add 기능
main, master: 메인 브랜치
develop 다음 출시 버전을 개발하는 브랜치
feature : 기능 개발 브랜치
release 이번 출시 버전을 준비하는 브랜치
hotfix : 출시 버전에서 발생한 버그 수정 브랜치
우선은 위 2개를 위주로 만들어서 사용할 예정
Branch - 분기된 가지
프로젝트를 하나 이상의 모습으로 관리해야 할 때
ex) 기능 개발 단위로 관리
여러 작업들이 각각 독립되어 진행 될 때
브랜치 작업도 cmd에 하던 인텔리에 터미널에 쳐서 사용하든 같음
git branch
브랜치확인
git branch example
example 브랜치 생성
git switch example
example 브랜치로 이동
git switch -c example
example 브랜치 생성 후 이동
(git 2.23 버전 이전엔 switch이 아니라 checkout이었음, 명명 같으니 헷갈리지 않게 알아두기)
활성화 되어있는 브랜치는 삭제 불가능하여 브랜치를 삭제하려면 다른 브랜치로 이동하고 삭제
브랜치 스위치 하면 각각의 브랜치에서 작업했던 내용은 각각 브랜치에서만 확인 가능
브랜치가 여러개면 같은 프로젝트가 여러개 존재한다고 생각해도 될까요?
라기보단 동시다발적으로 개발이 진행중이다~
메인이 되는 브랜치로 가져오려고 합치는 과정
merge : 두 브랜치를 한 커밋으로 이어 붙으는 작업
rebase : 브랜치를 이어붙이는 작업 (깔끔한 정리를 위해선 좋지만 협업엔 좋지 않음)
리베이스는 리베이스 할 브랜치로 가서 리베이스 해주고 메인으로 다시 돌아가서 머지 해주면 병합
머지 안해주면 브랜치 동동 떠다님
깃허브에서 코드 수정 가능하지만 현업에선 웬만해선 로컬에서 작업하고 올리고 원격은 건들지 않는게 예의
이번은 풀 실습을 위해 해봄
pull request
브랜치 > 브랜치 병합하고 싶을때 남들에게 허락을 구하는 과정
충돌 부분 웹 에디터 버튼
수정후 버튼 클릭
병합된 빈 브랜치 삭제 버튼도 나옴