From b2d6ba484e4fb0f6ffd637118d696deae697c6c0 Mon Sep 17 00:00:00 2001 From: youz2me Date: Mon, 25 Nov 2024 03:10:24 +0900 Subject: [PATCH 1/7] =?UTF-8?q?feat:=203-way=20merge=20=EC=8B=A4=EC=8A=B5?= =?UTF-8?q?=EC=9D=84=20=EC=9C=84=ED=95=9C=20=ED=8C=8C=EC=9D=BC=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- week10/threeway-merge.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 week10/threeway-merge.md diff --git a/week10/threeway-merge.md b/week10/threeway-merge.md new file mode 100644 index 0000000..b49e1d2 --- /dev/null +++ b/week10/threeway-merge.md @@ -0,0 +1,5 @@ +3-way merge는 서로 다른 두 브랜치에서 두 브랜치 모두 다른 변경사항이 생기는 경우 사용되는 merge 방식입니다. +서로 다른 두 변경사항이 합쳐지는 경우에는 반드시 두 변경사항을 병합하는 새로운 변경점을 생성하게 됩니다. +이 방식은 충돌이 발생할 가능성이 있고 충돌이 발생하면 수동으로 해결해야 해요. + +Git의 merge는 base 커밋, HEAD, merge 하는 대상 브랜치의 변경 내용을 기반으로 동작합니다. From 8bbd418eaadca8463f21ceac73730a1d87aed3a1 Mon Sep 17 00:00:00 2001 From: youz2me Date: Wed, 27 Nov 2024 00:40:43 +0900 Subject: [PATCH 2/7] =?UTF-8?q?feat:=20=EB=82=B4=EC=9A=A9=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- week10/pull-practice.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/week10/pull-practice.md b/week10/pull-practice.md index c9aa818..fd73471 100644 --- a/week10/pull-practice.md +++ b/week10/pull-practice.md @@ -1,3 +1,3 @@ -git pull은 fetch와 merge를 결합한 명령어입니다. +물론 fetch를 이용해 원격 레포지토리의 변경사항을 가져오고 merge하는 방식은 안전하다는 장점이 있지만 사실 좀 귀찮다는 단점이 있습니다. 원격 브랜치의 내용을 받아와서 자동으로 현재 브랜치에 반영하고자 할 때 위와 같이 `pull` 명령어를 사용합니다. -작업하고 있는 브랜치에 최신 변경사항을 반영하고자 할 때 유용하게 쓰일 수 있어요. +다만 pull의 경우 자동으로 fetch와 merge 를 동시에 수행하기 때문에 충돌이 발생할 수도 있습니다. 이 경우 당황하지 마시고 위에서 배웠던 것처럼 침착하게 충돌을 해결하신 후 커밋하신 뒤 한번 더 pull 명령어를 입력해주세요! From 22e8d2127b43acd475486224ddc1064a1c62d3aa Mon Sep 17 00:00:00 2001 From: youz2me Date: Wed, 27 Nov 2024 00:52:46 +0900 Subject: [PATCH 3/7] =?UTF-8?q?feat:=20=EB=82=B4=EC=9A=A9=20=EC=9E=91?= =?UTF-8?q?=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- week10/ff-merge.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/week10/ff-merge.md b/week10/ff-merge.md index d9e62da..907c84f 100644 --- a/week10/ff-merge.md +++ b/week10/ff-merge.md @@ -1,3 +1,5 @@ 그렇다면 `A` 브랜치가 `B` 브랜치와 합쳐진다고 생각했을 때 현재 `A` 브랜치가 가리키는 커밋을 `B` 브랜치에서 내용이 추가된 커밋으로 설정하면 되겠죠? 이렇게 진행할 경우 A 브랜치에서 내용 추가라는 변경사항을 새로 생성하지 않고도 참조 값을 변경해 두 브랜치의 변경 사항을 하나로 합칠 수 있습니다. 위와 같이 실제 변경사항을 합치기보다는 `HEAD`를 옮기는 방법을 **fast-forward merge**라고 합니다. + +Git에서는 기준이 되는 브랜치에 신규 커밋이 존재하지 않고 다른 브랜치에만 새로운 커밋이 존재할 때 자동으로 fast-forward merge를 실행합니다. From 6a02ce0aa3721320bec1a872d2984693c3ba7eca Mon Sep 17 00:00:00 2001 From: yunnij Date: Tue, 23 Sep 2025 15:25:48 +0900 Subject: [PATCH 4/7] [yunni] week1 git workbook --- .gitignore | 1 + .idea/.gitignore | 8 ++++++++ .idea/Git_Workbook.iml | 9 +++++++++ .idea/misc.xml | 6 ++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ week1.md | 15 +++++++++++++++ 7 files changed, 53 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/Git_Workbook.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 week1.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b50fbe3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +ignore.md diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..cb2be2e --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# 디폴트 무시된 파일 +/shelf/ +/workspace.xml +# 에디터 기반 HTTP 클라이언트 요청 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/Git_Workbook.iml b/.idea/Git_Workbook.iml new file mode 100644 index 0000000..18ec59d --- /dev/null +++ b/.idea/Git_Workbook.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..fa93304 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..099c469 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..c8397c9 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/week1.md b/week1.md new file mode 100644 index 0000000..206447a --- /dev/null +++ b/week1.md @@ -0,0 +1,15 @@ +# Week 1 학습 내용 +- 저장소 clone +`git clone [저장소 URL]` + +- 전체 추가 +- `git add .` + +- commit 메시지 작성 +- `git commit -m "[커밋메시지]"` + +- git 상태 확인 +- `git status` + +- push +- `git push [저장소명] [브랜치명]` \ No newline at end of file From 45ce2062a24d8914ef7abebdce3dd5a43b9a3d39 Mon Sep 17 00:00:00 2001 From: yunnij Date: Tue, 23 Sep 2025 15:39:41 +0900 Subject: [PATCH 5/7] merge 3-way --- week10/threeway-merge.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/week10/threeway-merge.md b/week10/threeway-merge.md index 38945c3..b49e1d2 100644 --- a/week10/threeway-merge.md +++ b/week10/threeway-merge.md @@ -1,5 +1,5 @@ 3-way merge는 서로 다른 두 브랜치에서 두 브랜치 모두 다른 변경사항이 생기는 경우 사용되는 merge 방식입니다. -base가 되는 커밋을 기준으로 각 브랜치의 변경 내용을 비교하여 병합합니다. +서로 다른 두 변경사항이 합쳐지는 경우에는 반드시 두 변경사항을 병합하는 새로운 변경점을 생성하게 됩니다. 이 방식은 충돌이 발생할 가능성이 있고 충돌이 발생하면 수동으로 해결해야 해요. -Git의 merge 알고리즘은 base 커밋, HEAD, merge 하는 대상 브랜치의 변경 내용을 기반으로 동작합니다. +Git의 merge는 base 커밋, HEAD, merge 하는 대상 브랜치의 변경 내용을 기반으로 동작합니다. From 62aa6bfdd510f44ef3c62927e0611ca32d2ddd2c Mon Sep 17 00:00:00 2001 From: yunnij Date: Tue, 23 Sep 2025 15:45:26 +0900 Subject: [PATCH 6/7] rolback 3-merge --- week10/threeway-merge.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/week10/threeway-merge.md b/week10/threeway-merge.md index b49e1d2..c4e90cb 100644 --- a/week10/threeway-merge.md +++ b/week10/threeway-merge.md @@ -1,5 +1,5 @@ 3-way merge는 서로 다른 두 브랜치에서 두 브랜치 모두 다른 변경사항이 생기는 경우 사용되는 merge 방식입니다. -서로 다른 두 변경사항이 합쳐지는 경우에는 반드시 두 변경사항을 병합하는 새로운 변경점을 생성하게 됩니다. +base가 되는 커밋을 기준으로 각 브랜치의 변경 내용을 비교하여 병합합니다. 이 방식은 충돌이 발생할 가능성이 있고 충돌이 발생하면 수동으로 해결해야 해요. -Git의 merge는 base 커밋, HEAD, merge 하는 대상 브랜치의 변경 내용을 기반으로 동작합니다. +Git의 merge 알고리즘은 base 커밋, HEAD, merge 하는 대상 브랜치의 변경 내용을 기반으로 동작합니다. \ No newline at end of file From f6bbf42b1ff6e9d48b622c43e600698b453fe9be Mon Sep 17 00:00:00 2001 From: yunnij Date: Tue, 23 Sep 2025 15:50:21 +0900 Subject: [PATCH 7/7] commit (merge) --- week10/threeway-merge.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/week10/threeway-merge.md b/week10/threeway-merge.md index c4e90cb..f61bb26 100644 --- a/week10/threeway-merge.md +++ b/week10/threeway-merge.md @@ -1,5 +1,5 @@ 3-way merge는 서로 다른 두 브랜치에서 두 브랜치 모두 다른 변경사항이 생기는 경우 사용되는 merge 방식입니다. -base가 되는 커밋을 기준으로 각 브랜치의 변경 내용을 비교하여 병합합니다. +서로 다른 두 변경사항이 합쳐지는 경우에는 반드시 두 변경사항을 병합하는 새로운 변경점을 생성하게 됩니다. 이 방식은 충돌이 발생할 가능성이 있고 충돌이 발생하면 수동으로 해결해야 해요. -Git의 merge 알고리즘은 base 커밋, HEAD, merge 하는 대상 브랜치의 변경 내용을 기반으로 동작합니다. \ No newline at end of file +Git의 merge는 base 커밋, HEAD, merge 하는 대상 브랜치의 변경 내용을 기반으로 동작합니다. \ No newline at end of file