연구실을 위한 GitHub 매뉴얼 공유 ③ ~ 지점 및 통합에 관하여 ~
먼저
이번에는 지금까지의 보도의 후속이다.나랑 사귈 수 있었으면 좋겠다.
연구실을 위한 GitHub 매뉴얼 공유 ①~ Git의 역사와 환경 구축~
연구실을 위한 GitHub 매뉴얼 공유 ② ~ GitHub push 이전 명령 요약 ~
GitHub와의 교환 정보
다음 명령을 사용하여 설정된 원격 저장소 정보를 볼 수 있습니다.git remote # リモートのショートカット名を表示
git remote -v # リモートのURLを表示
origin
origin https://github.com/hangi4343/qiita_practice.git (fetch)
origin https://github.com/hangi4343/qiita_practice.git (push)
다음 명령을 사용하여 Git에 GitHub 저장소를 등록할 수 있습니다.git remote add <リモート名> <リモートのURL>
이전 글에서 나는 origin이라는 단축키에 GitHub의 저장소를 등록했다.
분기 정보
GitHub에는 분기라는 개념이 있습니다.분지는 분지를 개발할 때의 모든 나뭇가지를 가리킨다.
실제로 우리는 아래의 명령으로 현재의 지점을 확인합니다.git branch
* master
지점을 늘리지 않았기 때문에 지금은 마스터 지점이라는 지점만 있습니다.지점을 늘리는 것을 절단지점이라고 한다.다음 명령으로 지점을 끊어 보세요.git branch branch_test
이 명령을 누르면 새 branch_를 사용할 수 있습니다너는 테스트 지점을 잘라도 된다.git branch 명령으로 다시 한번 확인해 보겠습니다.git branch
branch_test
* master
branch_test라는 새 지점이 만들어졌습니다.*현재 작업 중인 지점.
여기까지 실제로 지점을 만들어봤어요.그럼 지점이라는 개념을 다시 한 번 자세히 봅시다.
아래 그림 보세요.
Git 커밋은 파일 상태를 변경합니다.
즉, 파일의 상태는 사용자가 제출한 상태에 달려 있습니다.
지점은 어떤 제출 상태를 보존하는지 지침이라고 할 수 있다.지금, branch_test 지점만 자르면 master 지점과 branch_테스트 지점이 같은 제출을 가리키기 때문에 파일 상태는 완전히 같다.
또한 HEAD도 존재합니다. 이 HEAD는 하나의 지점을 가리키면서 현재의 지점을 결정합니다.현재 master 브랜치에 있으므로 HEAD는 master를 가리킵니다.
HEAD가 가리키는 브랜치를 변경하려면 git checkout 명령을 사용합니다.git checkout branch_test
현재 브랜치를 변경할 수 있습니다.확인해 봅시다.git branch
* branch_test
master
그림에서 보면 변화는 다음과 같다.
이 상태에서 변경을 하고commit을 진행합시다.lesson.py를 (으)로 변경합니다.
lesson.pyprint('Hello GitHub')
print('create new branch')
우리 commit 이거 변경합시다.git add lesson.py
git commit -m "add create new branch"
gitcommit의 -m 옵션은vim 편집기를 열지 않은 상태에서 주석을 추가할 수 있습니다.commit이 (으) 로 변경되었습니다.
이 상태에서gitcheckout 명령을 통해master 지점으로 이동합니다.어떻게 될지 알아요?git checkout master
lesson.파이를 확인해 봅시다.나는 다음과 같다고 생각한다.
lesson.pyprint('Hello GitHub')
print ('create new branch') 라는 코드가 존재하지 않습니다.도해는 아래와 같다.
아까 제출은 branch _테스트 지점에서 제출한 것이기 때문에 마스터 지점은 제출 전 상태입니다.이렇게 지점을 차단하여 개발하면 여러 명이 개발할 수 있다.
그럼 마지막으로 마스터 지점에서 branch_테스트 지점을 통합하여 제출 ④를 마스터 지점에 반영합니다.
이렇게 지점을 합병하는 것을 합병이라고 한다.아래의 명령을 내리시오.git merge branch_test
이 명령을 사용하면 master 브랜치 및 branch_테스트 지점이 통합되었습니다.그림 참조:.
Git에서는 이렇게 분할을 차단하고 통합하는 것이 개발의 기초이다.또 이런 합병 방법은 특히 Fast Forward라고 불린다.
마지막으로, 더 이상 branch_테스트 지점을 삭제하세요.git branch -d branch_test
GitHub에서 정보 가져오기
원격 저장소가 다른 사람의 요청으로 변경된 것을 고려해 보세요.나는git_fetch.py 파일이 생성되었습니다.
따라서 원격 저장소와 로컬 저장소의 상태가 다를 경우 로컬 저장소를 업데이트해야 합니다.
원격으로 정보를 얻을 때 사용하는gitfetch 명령과gitpull 명령을 살펴보겠습니다.
gitfetch 명령 정보
이번에는 원격 URL에서origin이라는 단축키를 만들었기 때문에 다음 명령으로 로컬에 정보를 저장할 수 있습니다.git fetch origin
gitfetch 명령을 누르면 원격 정보는remotes/origin/master라는 지점에 저장됩니다.다음 명령을 사용하여 브랜치를 확인하십시오.git branch -a
* master
remotes/origin/master
gitbranch 명령을 눌렀을 때 로컬git의 지점을 표시하고, -a 명령을 눌렀을 때remotes를 포함한 모든 지점을 표시합니다.
*가 있는 것은 현재의 지점이다.
gitfetch 명령을 사용하면 원격 저장소를 로컬 저장소에 넣을 수 있지만, 그 정보는remotes/origin/master라는 지점에 포함되어 있으며, 현재 지점의master 지점에 포함되어 있지 않습니다.
합병하기 전에, 지점을remotes/origin/master로 전환하려고 시도합니다.git checkout remotes/origin/master
파일을 확인하면git_fetch.나는 py 파일이 있다는 것을 알고 싶다.
확인이 끝나면 원래의 마스터 지점으로 전환하세요.git checkout master
현재,remotes/origin/master 지점을 현재 master 지점에 통합합니다.
명령은git merge<분기 이름>입니다.git merge remotes/origin/master
지금, 우리가 현재 지점을 볼 때,git_fetch.py 파일이 존재하는 것을 알고 있습니다.
git pull 명령 정보
gitpull 명령은gitfetch와gitmerge가 통합된 명령과 유사합니다.
다음 형식을 사용합니다.
git pull < 원격 이름 > < 분기 이름 >
원격 저장소가 다른 사람에게 업데이트되는 상황을 다시 한 번 고려합니다.이번에는 git_pull.py 파일을 추가합니다.
로컬 저장소에서 이 원격 저장소 변경 사항을 가져옵니다.다음 명령을 통해 얻을 수 있습니다.git pull origin master
위 명령에서 마스터 브랜치는git_를 포함합니다pull.py 파일이 추가되었는지 확인할 수 있을 것 같습니다.
당김 요청 정보
그럼 제가 라식 요청을 설명해 드릴게요.
드래그 요청은 자신이 변경한 코드를 저장소에 넣을 것을 요청하는 기능을 가리킨다.
여러 사람이 개발을 진행할 때 모두가 원하는 방식으로 코드를 변경하면 지금까지 이동한 코드가 움직이지 않고 질이 좋지 않은 변경이 발생할 수 있다.
그걸 막기 위한 건 라식 요청이야.
변경 사항을 원격 저장소에 병합할 때 다른 사람에게 검토를 요청하십시오.이것이 바로 라식 요청이다.
그럼 당기는 요구까지의 절차는 다음과 같다.
우리 실제로 라식 요청을 합시다.
다음 명령을 사용하여 브랜치를 최신 상태로 만듭니다.git pull origin master
브랜치를 최신 상태로 설정한 후 브랜치를 절단합니다.lesson_pull_리퀘스트 지점을 만듭니다.git checkout -b lesson_pull_request
만약 git checkout에 -b 옵션이 있다면, 새 지점을 만드는 동시에 HEAD를 변경할 수 있습니다.
lesson.우리 py 파일을 수정합시다.
lesson.pyprint('Hello GitHub')
print('create new branch')
print('lesson pull request')
lesson.이동 영역에py를 추가합니다.git add lesson.py
lesson.로컬 저장소에py를 제출합니다.git commit -m "add lesson pull request"
그러면 원격 저장소에서 lesson_pull_request 브랜치를 밀어넣습니다.git push origin lesson_pull_request
그러면 여기부터 GitHub를 엽니다.
방금 전송한 원격 저장소에서 Pull request 탭을 엽니다.
Compare &pull request를 누르면 당김 요청의 제목과 본문을 입력하고pull request 만들기 단추를 누르면 당김 요청을 완성합니다.
드래그 요청이 완료되면 오른쪽 리뷰어에서 평론가를 선택하고 드래그 요청을 검토할 사람을 선택하십시오.
라식 요청은 여기서 끝냅니다.
끝날 때
이로써 GitHub 매뉴얼이 종료됩니다.나랑 사겨줘서 고마워.
연구실을 위한 GitHub 매뉴얼 공유 ①~ Git의 역사와 환경 구축~
연구실을 위한 GitHub 매뉴얼 공유 ② ~ GitHub push 이전 명령 요약 ~
Reference
이 문제에 관하여(연구실을 위한 GitHub 매뉴얼 공유 ③ ~ 지점 및 통합에 관하여 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/renesisu727/items/39bb2ef75516a97f7e69
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
git remote # リモートのショートカット名を表示
git remote -v # リモートのURLを表示
git remote add <リモート名> <リモートのURL>
git branch
git branch branch_test
git branch
git checkout branch_test
git branch
print('Hello GitHub')
print('create new branch')
git add lesson.py
git commit -m "add create new branch"
git checkout master
print('Hello GitHub')
git merge branch_test
git branch -d branch_test
git fetch origin
git branch -a
git checkout remotes/origin/master
git checkout master
git merge remotes/origin/master
git pull origin master
git pull origin master
git checkout -b lesson_pull_request
print('Hello GitHub')
print('create new branch')
print('lesson pull request')
git add lesson.py
git commit -m "add lesson pull request"
git push origin lesson_pull_request
이로써 GitHub 매뉴얼이 종료됩니다.나랑 사겨줘서 고마워.
연구실을 위한 GitHub 매뉴얼 공유 ①~ Git의 역사와 환경 구축~
연구실을 위한 GitHub 매뉴얼 공유 ② ~ GitHub push 이전 명령 요약 ~
Reference
이 문제에 관하여(연구실을 위한 GitHub 매뉴얼 공유 ③ ~ 지점 및 통합에 관하여 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/renesisu727/items/39bb2ef75516a97f7e69텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)