branch, Merge
안녕하세요 이번에는 git을 이용해서 branch를 생성하고 Merge를 해봤습니다.
1. 테스트 파일 COMMIT & PUSH
test.html이라는 파일을 만들고 커밋을 시도 했습니다.
PS
C:\gitTest> git add test.html
PS
C:\gitTest> git commit -m "first commit"
***
Please tell me who you are.
Run
git config --global user.email
"you@example.com"
git config --global user.name "Your
Name"
to set
your account's default identity.
Omit
--global to set the identity only in this repository.
fatal:
unable to auto-detect email address (got '윈도우계정@########(none)')
git을 사용할 이메일과 이름을 설정하라는 메시지가 나왔습니다.
아래와 같이 메일과 이름을 기입해줍니다.
PS
C:\gitTest> git config --global user.email "이메일주소@이메일.확장자"
PS
C:\gitTest> git config --global user.name "이름기입"
아래와 같이 작성한 파일을 커밋해주고 maser로 Push 해줍니다.
PS
C:\gitTest> git commit -m "First Test Commit"
[master
(root-commit) 61e65d3] First Test Commit
1 file changed, 8 insertions(+)
create mode 100644 test.html
PS
C:\gitTest> git push -u origin master
Enumerating
objects: 3, done.
Counting
objects: 100% (3/3), done.
Delta
compression using up to 8 threads
Compressing
objects: 100% (2/2), done.
Writing
objects: 100% (3/3), 280 bytes | 280.00 KiB/s, done.Total 3 (delta 0), reused 0
(delta 0)
remote:
remote:
Create a pull request for 'master' on GitHub by visiting:
remote: https://github.com/레퍼지토리명/pull/new/masterremote:
To https://github.com/레퍼지토리경로/깃명.git
* [new branch] master -> master
Branch
'master' set up to track remote branch 'master' from 'origin'.
PUSH 명령을 실행해야 실제 레퍼지토리로 파일이 올라가게 됩니다.
2. Branch & Merge
아래와 같은 명령으로 브랜치를 생성 및 교체 할 수 있습니다.
PS
C:\gitTest> git branch issue1
PS
C:\gitTest> git branch
issue1
* master
PS
C:\gitTest> git checkout issue1
Switched to
branch 'issue1'
PS
C:\gitTest> git branch
* issue1
master
PS
C:\gitTest> git add test.html
PS C:\gitTest> git -m "테이블 추가"
브랜치를 추가로 만들어서 같은곳을 수정 후 충돌을 내 봤습니다.
PS
C:\gitTest> git branch issue3
PS
C:\gitTest> git branch
issue1
issue3
* master
PS
C:\gitTest> git checkout issue3
Switched to
branch 'issue3'
PS C:\gitTest> git add test.html
PS
C:\gitTest> git commit -m "내용
변경"
[issue3
d421f0d] 내용 변경
1 file changed, 1 insertion(+), 1 deletion(-)
PS
C:\gitTest> git checkout master
Switched to
branch 'master'
Your branch
is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your
local commits)
충돌이 날 경우 아래와 같은 메시지와 충돌 난 부분을 확인 할 수 있습니다.
PS C:\gitTest> git merge issue3
Auto-merging test.html
CONFLICT (content): Merge conflict in test.html
Automatic merge failed; fix conflicts and then commit the result.
아래와 같은 merge명령을 통해 merge 할 수 있습니다.
PS C:\gitTest> git merge issue3
Updating 6b3412d..d421f0d
Fast-forward
test.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
병합을 마친 후 PUSH를 하게 되면 정상적으로 수정된 파일이 반영됩니다.
PS C:\gitTest> git push
Enumerating objects: 11, done.
Counting objects: 100% (11/11), done.
Delta compression using up to 8 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (9/9), 993 bytes | 331.00 KiB/s, done.
Total 9 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), done.
To https://github.com/레퍼지토리/깃명.git
61e65d3..4b29f1c master -> master