TIL - Git (3)


ブランチ


ブランチは、コミットを指すポインタに似ています.
ブランチ(branch):プライマリブランチを保持しながら既存のファイルの内容を変更するか、新しい機能を実現するためにファイルを作成します.
マージ(merge):新しいブランチで必要な操作が完了したら、元のプライマリブランチにマージします.
HEAD는 현재 작업중인 브랜치 master를 가리키고 있다 

git branch:新しいブランチの作成


git branch:ブランチのチェック
gitブランチブランチ名:ブランチの作成

저장소에 master,ms,google,apple 4개의 브랜치가 있고
모든 브랜치는 최신 커밋이 'work3' 이며
현재 작업 중인 브랜치는 master 브랜치라는 의미이다

git checkout:ブランチ間を移動する


git checkout移動するブランチ名
파일 경로 끝에 apple은 현재 브랜치가 apple이라는 뜻이다. 
최신 커밋 해시에서 HEAD가 apple을 가리키고 있다.
git log--oneline-分岐:分岐コミットを1行と見なすことができます

git log--oneline-分岐--graph:グラフで分岐コミットを表示できます
│ 는 커밋과 커밋의 관계를 보여준다. 

apple 브랜치의 최신 커밋은 apple content 4 인데, 
점선을 따라 부모를 찾아가 보면 work3을 만나게 된다. 
즉, apple 프랜치에서는 
work3 커밋 다음에 apple content 4커밋이 만들어 졌다는 뜻이다. 

master 브랜치의 부모 커밋을 찾아보면 work3이다. 
즉, master 브랜치나 apple 브랜치는 work 3 커밋까지는 같고 
그 이후부터 브랜치마다 다른 커밋을 만들었다는 뜻이다. 
git logブランチ名...ブランチ名:左側のブランチに対して右側のブランチを比較する
master 브랜치에는 없고 apple 브랜치에만 있는 커밋을 보여준다

ブランチのマージ


別のファイルをマージ


커밋 work1 은 master브랜치, o2브랜치가 똑같이 가지고 있다. 
그 다음으로 master브랜치에는 master work 2 커밋이 생겼고 
o2 브랜치에는 o2 work 2 커밋이 생겼다 
병합할 브랜치로 체크아웃 하고 가져 올 브랜치를 merge 한다.
브랜치 병합하면서 만들어지는 커밋 메시지 
'o2 work 2' 커밋이 master 브랜치에 병합되면서
'Merge branch o2'라는 커밋이 새로 생겼다. 

同じドキュメントの同じ場所を変更した場合にマージ


master 브랜치에 저장된 work.txt
o2 브랜치에 저장된 work.txt
master브랜치에서 o2브랜치를 병합하면서 출동이 발생했다.
충돌이 생긴 문서는 사용자가 직접 충돌 부분을 해결한 후 커밋해야 한다.
<<<<<<< HEAD와 ======= 사이 내용은 현재(master) 브랜치에서 수정한 내용
>>>>>>> o2와 ======= 사이 내용은 o2 브랜치에서 수정한 내용

양쪽 브랜치의 내용을 참고하면서 직접 내용을 수정해야 한다.
수정 후 <<< , ===  는 삭제한다 
수정한 파일을 스테이지에 올리고 커밋한다. 
지금까지의 커밋 관계 확인

連結終了ブランチの削除


git branch-d削除するブランチ名
使用しないブランチは襟から削除できます.
ブランチは完全に消去されていません.同じ名前のブランチを再作成すると、以前の内容が表示されます.
저장소의 기본 브랜치는 master 이므로 
브랜치를 삭제하려면 master 브랜치에서 해야 한다. 

성공적으로 브랜치가 삭제되면 Deleted branch ~ 와 같은 메시지가 나타난다.

ブランチの管理


git checkout:HEADを制御することでブランチを移動できます.
git reset:HEADが指すブランチの最新コミットを必要なコミットとして指定できます.この場合、任意のブランチでのコミットを指定できます.コマンドを実行すると、ブランチとの接続が切断されたコミットが削除されます.
git stash:コミットされていない変更を保持します.ファイルはトレース状態でなければなりません(=1回コミットする必要があります)
git stash list:git stashリストがいくつか表示されます.
最近のファイルはstash@{0}に含まれています.
git stash pop:git stashを使用して最近非表示になったファイルをポップアップします.
📢 投稿はDOIT!羽&羽バニラ入門を参考にしました.