6月11日 その2
Git 備忘録
なにもわからないからここにまとめて整理してみるよ。
Git を学ぶ/Gitとは
ここがそもそもあまりわからん。
わかっていること
- 共同開発のためのツール
- データや履歴の共有
- 新旧のファイルの一元管理
- 枝分かれでの作業
- データのバックアップ
- CUIツール
わからないのは共同開発したことないのが理由として大きそう。
ファイルのバージョン管理・共有が簡単にできるということぽい。編集履歴を残しつつ、不具合が出たら前のバージョンに戻れる的な。これを無駄なく効率的に行うツールらしい。まあ、いちいち保存するのはめんどいねたしかに。
Git を学ぶ/用語の意味
リポジトリ
貯蔵庫のこと。2種類ある。
作業はローカルで編集→リモートに公開 の流れ?
clone/クローン
リモートリポジトリをまるごと自分のローカルリポジトリに保存する機能。ダウンロード的なイメージ?最初に行う作業になる。
$git clone URL名
commit/コミット
ファイル・ディレクトリの編集作業をローカルリポジトリに記録する作業。
実行すると、ファイルの編集日時の記録が時系列順に並んで格納される。当時の編集内容や履歴が確認できるようになれる。
***ディレクトリはwindows10で一般にフォルダとよんでいるもの。linux界隈ではディレクトリと呼ぶらしいですぜ。
$ git commit -m "コミットメッセージ"
add/アド
commitの前の仮置作業。
編集中のディレクトリ(ワークツリー)---add-->インデックス(中間領域)---commit-->ローカルリポジトリ
という流れのよう。
インデックスを使うメリットは
- まとめて複数ファイルをcommitできる。
- 確認になるからcommitミスを防げる
- まとめて確認することでファイルのcommit忘れを防げる
とかがあるみたい。なるほど?
$ git add ファイル名
push/プッシュ
ローカルリポジトリにあるファイルをリモートリポジトリに送信し保存する作業。
アップロードに近いイメージ?cloneと対を成してそう?
$ git push origin ブランチ名
branch/ブランチ
ファイルの編集履歴の分岐をする。枝分かれしてみんながそれぞれ維持れるようにする。これはリモートリポジトリの話?
コマンドは
$git checkout -b ブランチ名
merge/マージ
ブランチを統合する。まじでよくわからん。
pull/プル
リモートリポジトリ内のファイルのうち、自分のローカルフォルダにない部分のみをダウンロードするような機能。
一括ダウンロードのcroneと違い、差分のみを落とせるので、新しく追加されたやつや他のメンバーが更新したものを自分のローカルに反映させられる。
$ git pull origin ブランチ名
fetch/フエッチ
リモートの更新が最新状態を取得する。更新があったかどうかはわかるが、pullと違い、ローカルは更新されない。
これのメリットは同じファイルを別の人がいじっていて、pullしたら鑑賞してエラーを吐いた!なんてのを防ぐことが出来る点。
とりあえず基本はなんとなくわかった気がする。
以上