[Git/GitHub]Chapter 4ブランチの作成と操作


Chapter 4ブランチの作成と操作


CLIを使用したブランチの作成


コミット
  • はコミットオブジェクトを生成します
    ->親コミットへの参照と実際のコミット構成を含むファイルオブジェクト
  • ブランチは、あるコミットとその祖先を論理的に表すが、実際にはコミット対象を指すだけである.
  • ブランチの作成

  • $ git branch [-v]
    :ローカルリポジトリのブランチリストを表示します.
    -vオプションは、最後のコミット
  • を表示します.
  • $gitブランチ[-f]<ブランチ名>[チェックサムのコミット]
    :新しいブランチを作成します.
    チェックサム値をコミットしない場合は、HEADからブランチが作成されます.
    既存のブランチを別のコミットに移動する場合は、
  • を選択する必要があります.
  • $ git branch -r[v]
    :リモート・リポジトリのブランチを確認します.
    -vコミット要約
  • を表示
  • $git checkout<ブランチ名>
    :特定のブランチにチェックアウトします.
  • $git checkout-b<ブランチ名><チェックサムのコミット>
    :特定のコミットにブランチを作成し、同時に
  • を決済します.
  • $git merge<ターゲットブランチ>
    :現在のブランチとターゲットブランチのマージ
  • $git rebase<ターゲットブランチ>
    :ブランチのコミットをターゲットブランチ
  • に再配置します.
  • $ git branch -d
    <ブランチ名>
    :特定のブランチを削除します.HEADブランチまたはマージされていない
  • は削除できません.
  • $ git branch -D
    <ブランチ名>
    :強制削除ブランチ
  • HEADが覚えるポイント
    1.HEADは現在作業中のブランチを指す
    2.ブランチがコミットを指し、HEADもコミットを指す
    3.HEADは最終的に現在の作業ブランチへの最近のコミットを指す
    revertを使用してコミットを返す必要がある場合は、次の操作を行います.
    C1 <- F1 <- C2 <- F2 <- C3 (master)
    (F 1,F 2)機能をキャンセルするには
    git revert F2
    git revert F1
    以前の履歴を変更することなく、複数のコミットをタスクの前の状態に戻すことができます(最新のコミットからキャンセルすることを推奨します)
    C1 <- F1 <- C2 <- F2 <- C3 <- RF2 <-RF1 (master)

    CLIチェックアウトの使用


    git checkout<コミットチェックサム>を実行すると?
    HEADと分岐を分離する付加的なHEADを生成する.
    ここでコミットを作成できますが、別のブランチにチェックアウトすると、接続されているすべてのHEADコミットが消えます.

    redet-hardを使用してブランチを復元


  • $git reset--hard<移動するコミットチェックサム>
    :現在のブランチを指定したコミットに移動します.
    作業フォルダの内容も変更

  • $HEAD~<数字>
    :HEAD~nはn番目の上の祖先です.
    HEAD~はHEADの親がHEAD~2はHEADのおじいちゃんが提出

  • $HEAD^<数値>
    :HEAD^nは親の祖先で、HEAD^2は2番目の親です.
    親が親より多いコミット(結合コミットなど)でのみ意味があります.
  • # 2단계 이전 커밋으로 되돌리기
    git reset --hard HEAD~2 
    git log --oneline --all # 로그 확인
    差分のリセットとチェックアウト
    $ git checkout HEAD~2
    ->[master]ブランチがセットされ、HEADのみ移動
    (分離したHEAD、例えばソースツリーをダブルクリックしてチェックアウト)
    ->reset--hardコマンドは、次の3つのコマンドを同時に実行します.
    $ git checkout HEAD~2
    $ git branch -f master
    $ git checkout master

    配置バージョンのタグ付け

  • $git tag-a-m<短いメッセージ><ラベル名>[ブランチまたはチェックサム]
    :-アノテーションがaの(アノテーション)タグを作成します.
    メッセージとタグ名が必要です.ブランチ名をスキップするとHEAD上にタスク
  • が作成されます.
  • $git push<リモートストレージ別名><ラベル名>
    :タグをリモートリポジトリ
  • にアップロードする.
    $ git log --oneline # 로그 확인
    $ git tag -a -m "첫 번째 태그 생성" v0.1 # 주석있는 태그 작성
    $ git log --oneline # 태그 생성 확인
    $ git push origin v0.1 # 태그 푸시
    switch/restore
  • $git switch<ブランチ名>
    :$git checkout<ブランチ名>と同じコマンドです.ブランチ変更
  • $git switch-c<ブランチ名>
    :$git checkout-b<ブランチ名>と同じコマンド.新規ブランチ作成後の変更
  • $git restore:ファイルコンテンツリカバリ
  • CLIによる3ウェイマージ