Gitチュートリアル6.7~6.11


6.7 HEADポインタ


6.7.1前回提出


羽基は最後のコミット情報に基づいて新しいコミットを生成する.
最後のコミットは、新しくコミットされた親コミットです.
HEADは、作業中のブランチへの最後のコミットIDを指す参照点である.

6.7.2分岐見出し


分岐を移動するとHEAD点も移動します
ブランチが複数ある場合、HEADポイントも複数あります.
(各ブランドの最終提出が異なるため)

6.7.4相対位置


~と^を使用して、現在のHEADが指すコミットから以前に移動できます.
$ git checkout HEAD~2
// 2칸 전 커밋으로 이동

$ git checkout -
// 직전으로 HEAD 이동

$ git checkout HEAD~3
// 코드 수정..
$ git switch -c footer2 // 수정한 코드로 footer2라는 브랜치를 만들고 커밋함.

6.7.5 AHEAD, BHEAD


リモートメモリが接続されている場合、ローカルメモリのHEADとリモートメモリのHEADは別々に存在する.
AHEAD:サーバに送信されていないローカルコミットが存在する
BHEAD:ローカルストレージにコミットされていないコミットがある

6.8作成と移動


ブランチの生成と移動は別物です
(同時に実行するには、個別のコマンドを入力する必要があります.)

6.8.1自動移動オプション


チェックアウト時に-bオプションを入力すると、同時に作成および移動できます.
$ git checkout -b 새_브랜치이름
$ git checkout -b hotfix

6.8.2移動コミット


ブランチは、特定のコミットに別名を付けるのと同じです.
(ブランチ名はハッシュキーのコミットと同じ)
すなわち,ブランチを移動する際には,ブランチ名だけでなくコミットハッシュキーも使用できる.
$ git branch -v
  footer  fb37081 footer 수정
  footer2 0e92f8e HEAD~2 후 코드 수정 및 커밋
  hotfix  5c05b9d 6.7.3 추가
* master  aa93db8 6.8.2

$ git checkout 커밋해시키

6.8.3 HEADによる移動

$ git checkout HEAD~1 // 한 단계 전 커밋
$ git checkout HEAD~5 // 5단계 전 커밋

6.8.4戻る

$ git checkout - //직전에 HEAD가 가리키던 커밋으로 돌아옴

// 한단계씩 여러번 돌아오는것도 가능하지만 브랜치이름을 직접 입력하는게 더 편함

6.9リモートブランチ


6.9.1 Remoteブランチ


リモートブランチ:別名/ブランチ名

6.9.3ブランチ追跡


ブランチは、特定のコミットハッシュ値のポインタを指します.
->リモートブランチは、リモート・リポジトリへのブランチのポインタであり、リモート・リポジトリへのブランチをブランチ・トラッキングと呼びます.
別の用語では、トラッキングブランチをトラッキングブランチと呼ぶ
トレースブランチは、リモートブランチを指すブックマークと同じです.
トレースブランチとは、リモートブランチの最後のハッシュ値のコミットです.
情報ですね.git/refsに存在する
上りと下り

6.9.4ブランチのアップロード

git remote show origin:remoteソース情報の表示
$ git push origin master // remote 중 origin에 master브랜치 push하기
ローカルには4つのブランチが格納され、ハブには1つのプライマリブランチしかありません.
リモートストレージにリモートブランチを作成するには、ローカルストレージで転送コマンドを実行する必要があります.
  • hotfixブランチをリモートリポジトリ
  • に登録する.
    $ git branch -v
      footer  fb37081 footer 수정
      footer2 0e92f8e HEAD~2 후 코드 수정 및 커밋
      hotfix  5c05b9d 6.7.3 추가
    * master  89a9f47 add 6.9.4
    
    $ git push origin hotfix // hotfix브랜치 올리기
    
    

    6.9.5異なる名前のブランチ


    ローカルストレージとリモートストレージの異なるブランチ名を指定できます.
    $ git push origin hotfix:새로운_브랜치_이름 // 원격저장소의 브랜치 이름 바꿔서 올리기
    
    // 예 : footer브랜치를 깃허브에는 function이라는 이름의 브랜치로 올리고 싶을때
    //  브랜치명:사용할브랜치명 사용
    $ git push -u origin footer:function
    // -u : --set-upstream

    6.9.6上流追跡


    異なるブランチ追跡.
    トラッキングブランチ(上流)は、リモートブランチとローカルブランチを接続する橋渡しです.
    ローカル・ストレージに関連付けられたリモート・リポジトリのブランチ・リストの表示
    //remoteに接続されているコンテンツのみ表示git branch -r//remoteとlocalgit branch -a//レプリケーション・リポジトリのトレース・ブランチの表示git branch -vv
  • クローン]別のパス
  • にコピー
  • local]リポジトリのgit push -u origin footer2:function
  • clone] git checkout --track origin/function
  • clone]コード修正後git push(git pushのみ入力)
  • local] git checkout footer2; git pull
  • クローンから修正コード
  • を取得する.

    6.9.7リモートブランチのコピー


    リモートとローカルに存在しないブランチをローカルに保存git checkout -b 새이름 origion/브랜치이름

    6.9.8上流接続


    既存のブランチを上流に接続できます.

    6.10ブランチ転送


    ブランチをローカルストレージからリモートストレージに転送する別の方法

    6.1.02ブランチ・スペア


    リモートブランチが配置されている場合、羽毛はリモートリポジトリ別名/ブランチポインタのみを作成します.
    $ git merge 원격저장소/브랜치이름
    
    //병합없이 테스트만 하고싶을때
    $ gti checkout -b 임시브랜치이름 origin/브랜치이름
    
    `

    6.11ブランチの削除


    ブランチの削除は、ブランチのすべての内容とコミットを削除します.
    現在所有しているブランチは削除できません
    현재위치 : bug
    $ git branch -d bug // (현재 자신이 있는 브랜치는 삭제할 수 없음)
    

    6.11/1一般削除方法

    $ git branch -d 브랜치이름
    
    $ git branch -d footer

    6.11.2強制削除


    作業ディレクトリまたはステージに他のコミット操作がある場合は、通常の方法でブランチを削除できません.
    こういう時は強制的に削除すべきです.
    小文字以外-d
    大文字-Dを入力すると、ブランチを強制的に削除できます.

    6.11.4リモートブランチを削除するには、次の手順に従います。

    $ git push origin --delete