728x90
반응형

git의 branch만들기 

코딩하다가 새로운 기능 넣고싶을때

원본파일로 작업하다가 망가지면 어떻할꺼임?

 

파일 복사본 만들어서 거기에 먼저 코드짜보면 안전하지 않겠음?

branch = 복사본임

터미널에서는

git branch 사본명 파일 사본 만들기
git switch 사본명 브랜치로 이동

그럼 서본명의 브렌치로 이동 해서 파일수정가능

git add 나 git commit 을 사용해서 변경한파일 저장하면 됌

 

이렇게 사본브랜치를 main브랜치에 합치고싶을땐?

 

git switch main 으로 메인브랜치로 이동을 먼저함

main브랜치에서 git merge 합칠파일명

입력하면 됌 이 합치는걸 깃머지 라고 함

 

근데 메인브랜치랑 사본브랜치가 같은 파일을 수정하면 어떻게될까?

둘중에 뭘 메인브랜치에 적용해야할지 우선순위는 개발자가 직접 정해야하지 않을까?

이런경우에는 행복하지 않은 엔딩 즉 충돌엔딩이 생김

이럴땐 충돌된 코드중에 뭘남길지 정해서 코드수정하고

깃애드 깃커밋하면 해결 끝

컴플릿트발생하면 수동으로 해결해야함

 

 

 

깃머지 말고도 다양한방법으로 브랜치들을 합칠수 있음

각 브랜치마다 신규내용이 있는경우를 쓰리웨이 머지라고 함

 

메인브랜치는 수정이 안되고 사이드브랜치만 수정한경우는?

그냥 사이드브랜치를 메인브랜치로 지칭해버림 왜냐면

메인브렌치에다가 합칠때 없는상태에서 코드가 추가되었기때문임
이걸 페스트 포워드 머지라고함

 

만약 머지를 완료한 브랜치가 삭제하고 싶어지면
git branch -d 브랜치명 을 입력하면 지워

머지를 안한 브랜치 삭제는

git branch -D로 대문자D를 입력해야함

 

깃로그로 메인브랜치 내역마 보고싶은데

사이드 브랜치들까지 로그가 다출력되는게 싫을땐

squash and merge를 하면 됌

git merge --squash 새브랜치

선으로 이어지는게 아니고

메인브랜치앞에 순간이동으로 합쳐짐

이렇게하면 사이드 브랜치에서 개발했던 짜잘한 로그까지 출력되지않음

 

728x90
반응형

'Git & GitHub' 카테고리의 다른 글

git허브로 협업하기 1  (0) 2024.08.06
728x90
반응형

1.깃허브 다운로드

윈도우 : 구글에 git windows 검색해서 다운로드

설치할때 위 2가지 항목 잘 체크하기

맥 : 맥은 설치방법이 약간 길어서 구글에

맥 깃허브 설치방법 검색해서 설치

 

2.기록해보기

작업할폴더를 vs코드같은 에디터로 열고

뉴터미널을 열어 git init해주면 작업사항을 깃이 감시해준다

 

이제 작성한 코드를 저장하려면

터미널에 git add 파일명(예:git add index.html)을 입력한 후

git cimmit -m '커밋메세지' 입력

이렇게 해놓으면 몇날몇일에 작성했는지 아니면 이때로 코드를 되돌리던지가 가능함

 

위 코드의 구조를 잘 외우셈

git add 를 하면 스테이징 에리어로 이동함

그후 git commit을 하면 레포지토리(저장소)로 이동함

스테이징할 파일이 여러개 인 경우
git add 파일명 파일명 이렇게 하면가능
예 : git add index.html style.css
모든파일을 스테이징 할 경우에는
git add .
여기서 .은 모든파일 이란 뜻임
깃이 힘들고 복잡할때
git status를 치면
어떤 파일들이 스테이징되었는지
어떤 파일들이 수정되었는지 알려줌
커밋한 내역을 보고싶을때는
git log --all --oneline

 

명령어를 간단하게 정리해보면

git init 깃이 폴더 감시를 시작
git add 깃 파일을 staging area로 이동
git add . 모든 파일을 staging area로 이동
git cimmit -m '커밋메세지' 스테이징된 파일들에 메세지를 달아서 repository에 저장
git status 스테이징되어있는 파일들 보기
git log --all --oneline 커밋한 내역 보기

 

3. 코드에디터에서 제공해주는 깃기능 사용하기

하지만 사실 요즘은 터미널에서 깃명령어로 하는게 뻘짓일수있음

코드 에디터에서 제공해주는 깃기능을 사용하면 편리하게 깃할수있음

vs코드기준 왼쪽바에 "소스제어"에서 깃을 사용할수있음

+ 버튼 누르는게 git add임

스테이징 에리어에 잡아넣는다는 뜻이지

 

"체크"버튼 누르면 git commit 임

아래 Message 창에 메세지 입력해서 체크하면

레포지토리에 메세지달아서 최종적으로 저장하겠단 뜻이지

 

이 커밋을 하기전에는 항상 현재파일 vs 최근commit한 파일 차이점을 확인하는게 좋은 습관임

차이점 확인하는 방법

git diff 를 터미널에 입력하면 바로 전 커밋이랑 지금 파일이랑 차이점을 볼수있음

 j키랑 k키 누르면 스크롤하면서 차이점을 볼수있음 종료는 q키임

git diff  현재파일과 이전커밋 변경내용 보기  j , k :스크롤 ,  q:종료

깃 디프의 단점이 있는데 코드가 길면 보기힘

보기에도 쓰래기임

그래서 더좋은 명령어를 쓰는게 있음

git difftool인데 비주얼적으로도 이쁨

y/n 선택란 나오면 y 누르면 가능

h j k l 로 방향조절 q로 종료가능

git difftool 현재파일과 이전커밋 비교(더좋은거)

 

근데 사실 코드에디터에서 깃그레프같은거 다운 받아 쓰면 더 깔끔함..

 

 

728x90
반응형

'Git & GitHub' 카테고리의 다른 글

git허브로 협업하기 2(branch)  (1) 2024.08.06

+ Recent posts