2016/01/26

jjugナイトセミナー行ってきた

jjugナイトセミナー

# Gitはじめの一歩
  • ファイルの状態のスナップショットを取り、それを履歴で管理しておくもの。
    • 初級者に伝えると理解が進む。
  • 用語
    • リモートリポジトリ:グローバルなリポジトリ
    • ローカルリポジトリ:自分のPC内にあるリポジトリ
    • ワークツリー:作業フォルダのこと
  • 反映手順
    • ワークツリーからローカルリポジトリへコミット
    • ローカルリポジトリからリモートリポジトリをコミット
  • コマンド
    • ローカル
      • リポジトリの作成
        • クローン:git clone:リモートリポジトリからローカルリポジトリを作る
        • 作成:git init:新規でリポジトリを作る
      • ローカルリポジトリの反映
        • 追加:git add:ファイルの追加
        • 反映:git commit:リポジトリへ反映
      • ローカルでの操作詳細
        • ワークツリーで編集 → インデックスへ反映(ステージ済)→ リポジトリへ反映(コミット)
      • 状態確認
        • git status:状態を確認することができる
    • リモート
      • リモートリポジトリとローカルリポジトリの紐付け
        • これがやっぱりわからない!?
      • リモートとローカルのやり取り
        • プル:git pul:作業ディレクトリまで持ってくる
        • フェッチ:git fetch:リモートリポジトリをローカルリポジトリに反映
        • マージ:git merge:ローカルリポジトリから作業ディレクトリへ反映
    • ブランチ
      • ブランチの切り替え
        • チェックアウト:git checkout:ブランチの切り替えを行う。
      • ブランチ統合
        • マージ:git merge:チェクアウトしているブランチへ他のブランチを統合する
          • fast-forward:対象のブランチ独自の変更がない場合(マージコミットができない)
          • non-fast-forward:対象のブランチ独自の変更がある(マージコミットができる)
        • リベース:git rebeas:他のブランチのHEADへチェックアウトしているブランチを統合する
    • その他コマンド
      • ログ:git log:コミットのログが見える
      • 差分:git diff:差分を確認する
      • タグ:git tag:コミットに名前をつける
  • 初心者がやりがち
    • 不要なファイルのコミット
    • gitとgithubを混同
      • ですよねー
    • コンフリクト恐怖症
      • <<<<<<< head
      • ====== 境目
      • >>>>>>> branch
      • これを落ち着いて手でマージ
  • tips
    • アボートでマージを取り消すことができる
    • コミットを取消せる
      • git revert コミット取り消し履歴が残る
      • git reset 履歴を残さず戻す
      • ※ リモート上はresetは原則しない。
    • コミットの内容を編集する
      • git commit —amend
      • ※ リモート上は危ないのでやらない
    • addの取り消し
      • git statusでヘルプが出てるよ
    • やっちまったやつ
      • git reflog 緊急戻しコマンド! GCで消えちゃうので使えないことも。。。
  • 本の紹介
    • Pro Git 無料だよ!!
  • 質問
    • addって何?
      • コミットの単位に意味を持たせるため、編集した内容のうち意味のある単位で切り取ってaddをしつつコミットする。
      • これって、作業ファイルの編集済み部分に対して何かしてコミットしていかなくても済むのでいいかも!?

# Git実践入門

# 資料関連