

→ 방금 만든 레포 URL 입력하여 Clone
git checkout -b [branch name]
git push -u origin [branch name]
-u : upstream 설정 (다음부터 push만 입력해도 됨)

→ GitHub 에서 브랜치 생성 확인
→ 'New Branck' 클릭하여 브랜치이름 작성 후 Create

로컬 삭제 :
git branch -d [branch name] / 강제삭제 시 -D
삭제 푸시 :git push origin —delete [branch name]


git branch
*[branch name] 표출
git checkout [branch name]

일단 README.md 파일 내용 변경

변경사항 확인
git status

변경 파일 stage 올리기
git add README.md
git status

커밋 만들고 Push
git commit -m "Modify Contents"
git push
처음이라면 git push -u origin feature

요약하자면
git status → 변경된 file 확인
git add [modified file name]
git commit -m "[Comment]"
git push
일단 README.md 파일 내용 변경

변경된 파일 커밋 올리기
→ 왼쪽 커밋 표시 버튼 클릭
→ 변경된 파일 체크박스 체크
→ Commit and Push 버튼 클릭
푸시하기

git checkout feature → feature 브랜치에서 dev로 PR 만들기






PR 만들기


PR 병합



dev 브랜치로 이동 (checkout)
GitHub의 dev에서 최신버전 pull 해오기!
dev 브랜치로 이동 (checkout)
GitHub의 dev에서 최신버전 pull 해오기!








Git Message
CONFLICT (content): Merge conflict in README.md
Automatic merge failed; fix conflicts and then commit the result.
→ 위에 스샷에서 "Resolve Conflicts" 클릭하여 "3-way-merge"로 진입




Left = dev 브랜치 내용 (This line is from DEV branch.)
Right = main 브랜치 내용 (This line is from MAIN branch.)
Center = 최종 결과 / 내가 수정하는 내용!
→ 혹은 하단에 Acceppt Left, Accept Right 로 반영 가능





git rebase main
git rebase --abbortgit rebase --continue



방법 1.
git push --force-with-lease
→ 다른 사람이 그 사이에 올린 커밋이 있으면 실수로 덮어쓰지 않게 한 번 더 체크
방법 2.git push -f
git log --oneline --graph --all --decorate

command + 9

A ── B ── C ────── M (main)
\ /
D ── E (dev)
중간에 M(Merge commit) 이라는 “합쳐진 커밋”이 생김
→ 히스토리에 “언제 어디서 브랜치가 합쳐졌는지” 기록이 남음
→ 이미 원격에 올라간 브랜치에 써도 안전 (공용 브랜치에서 자주 씀)
→ 커밋 그래프가 가지처럼 지그재그 복잡해질 수 있음
A ── B ── C ── D' ── E' (dev)
브랜치를 다시 main 뒤로 재배열해서 히스토리가 한 줄로 깔끔하게 보임
→ 커밋 로그가 깨끗해서 나중에 디버깅/리뷰할 때 보기 좋음
→ 이미 다른 사람이 pull 받은 브랜치를 rebase하면 히스토리 충돌 생길 수 있음
→ 보통 혼자 쓰는 브랜치(local feature 브랜치) 에서만 안전하게 함