git 기초 + branch 병합

송연지·2024년 4월 8일
0

git 기초 명령어

1. 브랜치 명령어

1) 새로운 브랜치 [브랜치명]을 생성

$ git branch [브랜치명]
  • 브랜치 조회하기
$ git branch

2) [브랜치명]으로 체크아웃(이동)

$ git checkout [브랜치명]
$ git checkout -b [브랜치명]# 브랜치만들고 바로 이동
  • 브랜치 삭제
$ git branch -d 브랜치명

3) 커밋 로그에서 한 줄에 한 커밋씩 출력

$ git log--oneline

4) 수정한 전체 파일을 스페이지에 올린다.

$ git add .

5) 커밋 로그에 각 브랜치의 커밋을 그래프로 표시

$ git log--branches --graph

6) [브랜치명]을 master 브랜치와 병합 //

$ git merge [브랜치명]
$ git merge [브랜치명] --edit// 병합 후 바로 vi 편집기가 나오면서 커밋 메시지 수정 가능
$ git merge [브랜치명] --no-edit// 커밋 메시지 수정없이 바로 병합

7) merge 취소하기

$ git merge--abort

2. git hub 원격 저장소

1) 원격 저장소에 연결

$ git remote add origin [github 레포지 주소]
$ git remote add origin [branch 이름]   #없으면 생성됨

2) 원격 저장소에 연결됐는지 확인

$ git remote -v

3) 지역 저장소의 커밋을 맨 처음 원격 저장소에 올리는 경우

$ git push -u origin master

4) 3번을 한 후에 지역 저장소의 커밋을 원격 저장소에 올리는 경우(업로드)

$ git push
$ git push origin master

5) 원격 저장소의 커밋을 지역 저장소로 가져옴

$ git pull
$ git pull origin master

6) SSH 키를 생성함

$ ssh-keygen

7) 원격 저장소 복제하기

첫번째 커밋이 아니라면 풀 먼저하기

$ git remote remove origin

원격 저장소를 [지역저장소명]에 복제하기

$ git clone [원격 저장소 주소]

8) 원격 저장소의 커밋을 가져오기만 하고 merge하지 않는다

가져온 branch 내용은 origin/[브랜치] 로 저장됨

$ git fetch

이후엔 diff 로 비교

$ git diff test origin/test# 브랜치 이름이 test일 경우 예시
9) 패치로 가져온 정보가 있는 브랜치\[FETCH\_HEAD\]로 이동

```git
$ git checkout FETCH_HEAD

10) 패치로 가져온 정보가 있는 브랜치[FETCH_HEAD]를 master 브랜치에 병합한다

$ git merge FETCH_HEAD

11) [브랜치명]을 만드는 것과 동시에 체크아웃한다

$ git checkout -b [브랜치명]

12) 원격 저장소에 [브랜치명]의 브랜치의 커밋을 올린다

$ git push origin [브랜치명]

13) 원격저장소 삭제

$ git remote remove origin

Git 기본 병합(Merge) 가이드

Git에서 브랜치를 병합하는 과정은 여러 작업 흐름 중 하나로, 코드 변경 사항을 메인 브랜치에 통합하는 데 사용됩니다. 이 문서에서는 main 브랜치로 feature 브랜치를 병합하는 기본적인 명령어를 소개합니다.

병합(Merge) 전 준비사항

  • 현재 main 브랜치에 있지 않다면, main 브랜치로 체크아웃합니다.
  • main 브랜치가 최신 상태인지 확인합니다. (필요하다면 git pull을 사용하여 최신 상태로 업데이트)
git checkout main
git pull origin main

병합(Merge) 과정

1) 병합할 브랜치로 체크아웃
먼저 병합하고자 하는 브랜치(예: feature)로 체크아웃합니다.

git checkout feature

2) 병합 시작
feature 브랜치에서 모든 작업이 완료되었다면, main 브랜치로 병합을 시작합니다. 이때 main 브랜치로 다시 체크아웃한 후, feature 브랜치를 병합합니다.

git checkout main
git merge feature

3) 병합 충돌 해결
병합 과정에서 충돌이 발생하면, 충돌을 해결한 후에 변경사항을 커밋합니다. 충돌이 발생하지 않으면 이 단계는 건너뛸 수 있습니다.

변경사항 푸시
병합된 변경사항을 원격 저장소에 푸시합니다.

git push origin main

주의사항

병합하기 전에 항상 현재 브랜치가 최신 상태인지 확인

병합 충돌이 발생하는 경우, 충돌하는 부분을 수동으로 해결해야 합니다. 충돌을 해결한 후에는 반드시 변경사항을 커밋해야 합니다.

복잡한 프로젝트에서는 rebase를 사용하는 것이 병합 이력을 깔끔하게 유지하는 데 도움이 될 수 있습니다. (git rebase 사용법은 별도로 학습 필요)

profile
프론트엔드 개발쟈!!

0개의 댓글