[Git] branch
4889 ワード
Branch
Branchは、特定の時点から分岐点を作成し、コードを独立して変更するのに役立つモデルです.字面的な意味の木が枝を引く絵を思い出すと、もっと分かりやすいです.
Branchの作成
ブランチを作成するときは、ブランチで何をするかを明確にする必要があります.そうでなければ、ブランチで何をしたのか、もう一度全部分解して見る必要があるという問題が発生します.
また,分岐点が生じる場合は常にcommitを基準としていると考えられる.$ git branch // *main
$ git branch hello // 현재 있는 최신 commit으로부터 분기점을 생성한다.
$ git branch //*main hello
//이동(구버전)
$ git checkout hello [checkout은 복구, 이동 의 액선을 가짐] => 두개로 나눔(switch, restore)
$ git branch
//이동(최신)
$ git switch hello
$ git branch // main *hello
ブランチの移動
$ git branch // *main
$ git branch hello // 현재 있는 최신 commit으로부터 분기점을 생성한다.
$ git branch //*main hello
//이동(구버전)
$ git checkout hello [checkout은 복구, 이동 의 액선을 가짐] => 두개로 나눔(switch, restore)
$ git branch
//이동(최신)
$ git switch hello
$ git branch // main *hello
Branchについて
ブランチの独立状態の確認
hello branchで働く
$ vi branch.py //작성 내용: print('hello')
$ cat branch.py // print('hello')
$ python3 branch.py // hello
$ git add branch.py
$ git commit -m "feat: Print 'hello'"
main brnachで働く$ git switch main
$ cat branch.py // 출력결과가 없다.
$ python3 branch.py // 출력결과가 없다.
連結コード(merge)
コードマージが事前に行われていると考えると、理解しやすくなります.helloブランチで作業している内容をmianブランチにドラッグしたい場合は、mainブランチでコードマージを行うことができます.
$ git branch // *main 확인
//코드 병합
$ git merge hello
// hello 브랜치 삭제
$ git branch -D hello
$ cat branch // print('hello')
ブランチの削除git branch -D hello
コードマージ競合(マージ完了)
$ git branch //*main
// repeat-hello 브랜치 생성 및 코드 작성
$ git branch repeat-hello
$ vi repeat-hello
// 생성 확인
$ git branch //*main repeat-hello
// main브랜치의 branch.py 파일 수정
$ vi branch.py
$ cat brnach.py
//i =3
if i%3==0;
print('hello')
$ python3 branch.py
//hello
$ git status
$ git add branch.py
$ git commit -m "feat: Add if Statement"
//repeat-hello 브랜치로 이동
$ git switch repeat-hello
$ vi branch.py
// for _ range(10):
print('hello')
$ python3 branch.py // hello 10번 출력
$ cat brnach.py
$ git add branch.py
$ git commit -m "feat: Add for Statement"
//코드병합
$ git switch main
$ git merge repeat-hello //CONFICT 충돌이 났음을 알린다.
$ vi branch.py //brnach.py를 열어 확인
出力repeat-hello
のコードはhello
分岐で記述され、main
分岐では出力hello
のコードは10回記述されている.(既存のbranch.pyコード:print(「hello」)マージが行われた場合、gitは競合するコード部分のみを以下に示します.これをマージ完了と呼びます.
<<<< HEAD
i = 3
if i%3==0:
======
for _ in range(10):
>>>>>>>> repeat-hello
print('hello')
コード修正後git status
で検証され、両方ともmodified:branchである.pyという言葉でmerge
がまだ終わっていないことを確認できます.mergeを完了するには、コード修正後にgit add
およびgit commit
の動作を完了する必要がある.ただし、マージコードが競合するとcommit内容が自動的に変更されるため、
$ git commit -m
でcommit
を行うべきではありません.-m
フラグによってcommit
が行われると、その内容は上書きされる.$ git add branch.py
$ git commit
$ git push origin master
Reference
この問題について([Git] branch), 我々は、より多くの情報をここで見つけました https://velog.io/@0seo8/Git-branchテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol