GIT, GIT HUB 기초

금송·2024년 8월 9일
0

이론

목록 보기
3/17
post-thumbnail

GIT

내 컴퓨터 working directory (로컬 저장소)

원격 저장소 remote repository (구글 드라이브나 외부 저장소)

  1. 원격 저장소에서 프로젝트를 클론 해온다
  2. 스테이지에 원격 저장소에 올려줄 내용만 넣어준다
  3. 로컬저장소에 커밋을 해준다음 원격 저장소에 푸쉬를 해주면 외부에 공유가 된다

(푸쉬를 하지 않을 경우 로컬에만 있어서 외부 공유가 안됨)

  1. 외부에 다른 사람들이 수정한 내용을 풀 해주고 변경된 내용만 받으려면 패치받는다

직접 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 : 브랜치를 이어붙이는 작업 (깔끔한 정리를 위해선 좋지만 협업엔 좋지 않음)

리베이스는 리베이스 할 브랜치로 가서 리베이스 해주고 메인으로 다시 돌아가서 머지 해주면 병합

머지 안해주면 브랜치 동동 떠다님

깃허브에서 코드 수정 가능하지만 현업에선 웬만해선 로컬에서 작업하고 올리고 원격은 건들지 않는게 예의

이번은 풀 실습을 위해 해봄

브랜치 충돌시 해결방법

  1. 깃헙 들어와서 pull request 생성 후 충돌 코드 확인
  2. 어떤 파일을 사용할것인지 어떤 내용을 쓸건지 머지 작업
  3. 충돌나면 수정후 resolved 하면 된다

pull request

브랜치 > 브랜치 병합하고 싶을때 남들에게 허락을 구하는 과정

충돌 부분 웹 에디터 버튼

수정후 버튼 클릭

병합된 빈 브랜치 삭제 버튼도 나옴

profile
goldsong

0개의 댓글