Github에서 소스 코드 관리 [병합]
우선 소개
만약 마음에 들어주거나 도움이 되면 꼭 "좋아요!"기다리고 있습니다!
게시물 동기 부여로 연결됩니다^^\
마지막 기사
Github에서 소스 코드 관리 [초급편]
htps : // 이 m / t / ms / 22d64f6187d68 아 22890
이 기사의 목적
전회는 Github 기본적인 사용법(초기 설정 ~ add, commit, push)을 썼습니다.
이번에는, 브랜치의 사용법에 대해서, 써 갑니다.
⚠⚠⚠⚠ 자신의 이해를 위해서도 아웃풋으로서 Github의 사용법을 투고하고 있습니다. ⚠⚠⚠⚠
⚠⚠⚠⚠ 나 자신도 초보자이므로 정보가 부정확할 가능성이 있으므로 양해 바랍니다 ⚠⚠⚠⚠
Github의 브랜치란?
브랜치(branch)란 하나의 프로젝트에서 브랜치를 분기함으로써,
동일한 리포지토리에서 여러 변경을 동시에 진행할 수 있는 기능입니다.
분기된 브랜치는 다른 브랜치와 합류(merge)시킴으로써, 1개의 브랜치로 정리할 수 있습니다.
합류시키는 브랜치는 명시적으로, "master"명명하는 것이 많은 것 같습니다.
Github에서 소스 코드 관리 [초급편]
htps : // 이 m / t / ms / 22d64f6187d68 아 22890
이 기사의 목적
전회는 Github 기본적인 사용법(초기 설정 ~ add, commit, push)을 썼습니다.
이번에는, 브랜치의 사용법에 대해서, 써 갑니다.
⚠⚠⚠⚠ 자신의 이해를 위해서도 아웃풋으로서 Github의 사용법을 투고하고 있습니다. ⚠⚠⚠⚠
⚠⚠⚠⚠ 나 자신도 초보자이므로 정보가 부정확할 가능성이 있으므로 양해 바랍니다 ⚠⚠⚠⚠
Github의 브랜치란?
브랜치(branch)란 하나의 프로젝트에서 브랜치를 분기함으로써,
동일한 리포지토리에서 여러 변경을 동시에 진행할 수 있는 기능입니다.
분기된 브랜치는 다른 브랜치와 합류(merge)시킴으로써, 1개의 브랜치로 정리할 수 있습니다.
합류시키는 브랜치는 명시적으로, "master"명명하는 것이 많은 것 같습니다.
브랜치(branch)란 하나의 프로젝트에서 브랜치를 분기함으로써,
동일한 리포지토리에서 여러 변경을 동시에 진행할 수 있는 기능입니다.
분기된 브랜치는 다른 브랜치와 합류(merge)시킴으로써, 1개의 브랜치로 정리할 수 있습니다.
합류시키는 브랜치는 명시적으로, "master"명명하는 것이 많은 것 같습니다.
로컬 브랜치로 병합한 내용을 리모트 리포지토리의 브랜치에 반영시키는 것도 가능합니다.
토끼에도 뿔에도 사용해 본다
↓↓골 이미지
개발 전용 브랜치의 내용을 master 브랜치에 반영
dev01에서 작성한 샘플 파일(aaa.txt)을 master 브랜치에도 반영시키는 방법입니다.
브랜치를 dev01로 전환
git checkout '브랜치 이름'으로 브랜치를 전환할 수 있습니다.
$ git checkout dev01
Switched to branch 'dev01'
Your branch is up to date with 'origin/dev01'.
자신이 어디에 있는지 확인
git status에서 확인이 가능합니다.
$ git status
On branch dev01
Your branch is up to date with 'origin/dev01'.
nothing to commit, working tree clean
nothing to commit, working tree clean
git의 상냥한 곳입니다만, 브랜치를 바꿀 때마다, commit 끝난 파일이 있는지 어떤지를 알려 줍니다. 웃음
dev01 브랜치로 aaa.txt 파일 만들기
aaa.txt 파일이 존재하는지 확인합니다.
$ touch aaa.txt
$ ls -l
-rw-r--r-- 1 SHU staff 0 6 18 13:44 index.html
-rw-r--r-- 1 SHU staff 0 6 18 13:45 aaa.txt
dev01 브랜치에 push
$ git add -A
$ git commit -m "added a new file"
dev01 8f62edc] added a new file
1 file changed, 0 insertions(+), 0 deletions(-)
rename test.txt => aaa.txt (100%)
$ git push
Counting objects: 2, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 284 bytes | 284.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0)
git hTo https://github.com/tnoce/test
12030df..8f62edc dev01 -> dev01
원격 측에 반영되었는지 확인합니다.
마스터 브랜치에 병합
master 브랜치에 병합하려면 master 브랜치에 있는 상태에서 병합할 브랜치를 지정해야 합니다.
앞서 "dev01"로 "aaa.txt"파일을 만들었으므로 dev01을 병합 소스의 분기로 지정합니다.
$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
$ git status
$ git merge dev01
Merge made by the 'recursive' strategy.
aaa.txt | 1 +
1 file changed, 1 insertion(+)
create mode 100644 aaa.txt
merge 하고 만족해서는 안됩니다.
어디까지나 로컬 측만 merge 되었을 뿐이므로, 병합 된 내용을 push합시다.
(commit 필요 없음)
$ git status
On branch master
Your branch is ahead of 'origin/master' by 3 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
$ git push
Counting objects: 1, done.
Writing objects: 100% (1/1), 234 bytes | 234.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To https://github.com/tnoce/test
0fe6078..b118ace master -> master
원격 저장소 측에서 마스터 브랜치에 dev01 브랜치의 내용이 반영되었습니다.
마지막으로
병합편에 대해 어떻습니까?
다음 번은 병합했을 때의 conflict의 해소 방법에 대해서도 갱신해 가고 싶습니다.
이상
Reference
이 문제에 관하여(Github에서 소스 코드 관리 [병합]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tnoce/items/a5a1ac91daa1f601d946
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ git checkout dev01
Switched to branch 'dev01'
Your branch is up to date with 'origin/dev01'.
$ git status
On branch dev01
Your branch is up to date with 'origin/dev01'.
nothing to commit, working tree clean
$ touch aaa.txt
$ ls -l
-rw-r--r-- 1 SHU staff 0 6 18 13:44 index.html
-rw-r--r-- 1 SHU staff 0 6 18 13:45 aaa.txt
$ git add -A
$ git commit -m "added a new file"
dev01 8f62edc] added a new file
1 file changed, 0 insertions(+), 0 deletions(-)
rename test.txt => aaa.txt (100%)
$ git push
Counting objects: 2, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 284 bytes | 284.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0)
git hTo https://github.com/tnoce/test
12030df..8f62edc dev01 -> dev01
$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
$ git status
$ git merge dev01
Merge made by the 'recursive' strategy.
aaa.txt | 1 +
1 file changed, 1 insertion(+)
create mode 100644 aaa.txt
$ git status
On branch master
Your branch is ahead of 'origin/master' by 3 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
$ git push
Counting objects: 1, done.
Writing objects: 100% (1/1), 234 bytes | 234.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To https://github.com/tnoce/test
0fe6078..b118ace master -> master
병합편에 대해 어떻습니까?
다음 번은 병합했을 때의 conflict의 해소 방법에 대해서도 갱신해 가고 싶습니다.
이상
Reference
이 문제에 관하여(Github에서 소스 코드 관리 [병합]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tnoce/items/a5a1ac91daa1f601d946텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)