merge 를 하는데 다양한 방법이 있다. [ 1 ] 3-way merge 각각의 브랜치에서 신규 commit 이 1회 이상있는 경우에 merge 하면 두 브랜치의 코드를 합쳐 새로운 commit 을 자동으로 생성해주는 방법이다. [ 예시 ] 그림에서처럼 두 브랜치가 base 에서 분리되어 각각의 브랜치를 가진 후 1회 이상 commit된 상태이다. 두 브랜치 (master,dev1)가 base 에서 분리된 commit 을 참조할 때 git merge를 실행하면 새로운 commit 이 생성된다. 이와 같은 merge 를 3-way-merge 라고 한다. 3-way 로 불리는 이유는? 내용을 병합할 때, base와 각 브랜치 2개가 참조하는 commit 을 진행하기 때문 [ 단점 ] 브랜치를 3-way m..
여태까지 git 을 사용하며 메인 브랜치만 사용하고 다른 브랜치를 같이 사용해본적이 잘 없다. 하지만 브랜치관리는 협업에 있어 무척이나 중요하다!! [ 상황 ] 예를 들어 쇼핑몰 웹페이지를 구현하는 경우에 '쿠폰 기능'을 추가한다고 하자 이 기능을 추가하며 기존 프로젝트에 버그나 다른 문제가 발생할 수 있는데, 이때 브렌치가 '복사본' 역할을 할 수 있다. 1. 브랜치 생성 및 이동 # 'coupon' 브랜치 생성 git branch coupon # 생성된 브랜치로 이동 ( master -> coupon ) git switch coupon 브랜치를 생성하고 생성된 브랜치로 이동한다. 왜 이동?? 기존 브랜치가 main 또는 master 로 설정되어있을 것이다. 그리고 지금 상황은 master 에서 작업 ..
main 에 올리고 싶은데 master 브랜치를 생성하여 그곳에 push 를 해버렸다. 첫번째, 수정하려는 파일 선택 후, git bash 로 열기 gitbash 를 이용하여 진행하기 때문에, 변경하고자 하는 프로젝트의 파일 또는 폴더를 선택 후, 마우스 우클릭하여 'gitbash로 열기' 클릭 두번째, 브랜치 확인 및 변경 -> branch 를 전환하는 checkout 명령과는 다름 !! 현재 내가 있는 브랜치는 master 브랜치이다. 브랜치를 변경해 준뒤, 다시 확인해 보면 main 으로 와있다. 세번째, main 에서 pull & push 이때, pull 먼저 진행하고, push 를 진행해주어야한다. ! [rejected] main -> main (non-fast-forward) 오류 발생 [ 원..
1. 레파지토리 생성 github 에서 레파지로티 생성 2. 로컬에서 git에 올릴 파일 선택 3. git bash 를 사용한 초기설정 및 파일 업로드 #초기 설정 git config --global user.name "유저이름" git config --global user.email "유저 이메일" git init #.git 파일 생성 git add . git status #상태확인 git commit -m "커밋 메시지" # 업로드 git remote add origin 레파지토리 주소 git push -u origin master 수정 : git push -u origin master -> git push -u origin main ( 현재 기본 브랜치는 main 이기 때문에 master 브랜치에 ..