はじめに
まだまだ理解に不安があるGitについて、
学習したことをまとめていきたいと思います。
リポジトリ(repository)
ファイルやディレクトリの状態を記録する場所です。
- ローカルリポジトリ・・・自分のPC上に作られるリポジトリ
- リモートリポジトリ・・・GitHub、GitlabなどのWebサービス上に作られるリポジトリ
フォーク(fork)
他人のリモートリポジトリを、自分のリモートリポジトリに複製する。
クローン(clone)
リモートリポジトリの内容をダウンロードしてきて、自分のPCにローカルリポジトリとして作成する。
SourceTreeでクローンする方法
- ファイル→新規→URLからクローン
- クローン先のhttpsのアドレスを指定
- 別ウィンドウでユーザーネームとパスワードを聞かれるので、Gitlabアカウントのパスワードを入力
- クローン完了
ワーキングツリー(working tree)
自分が実際に作業をしているディレクトリです。
インデックス(index)
以前の状態からどれだけファイルを編集したかを記録しています。
アド(add)
ワーキングツリーにあるファイルの更新内容を、インデックスに反映します。
コミット(commit)
インデックスに追加したファイルを、ローカルリポジトリに保存します。
ヘッド(HEAD)
今いるブランチの最新のコミットの代名詞を指します。
デフォルトではmasterの先頭を表し、HEADが移動することで、使用するブランチが変更されます。
プッシュ(push)
ローカルリポジトリをリモートリポジトリに送信して保存します。
リモートリポジトリ内の変更履歴がローカルリポジトリの変更履歴と同じ状態になります。
プル(pull)
リモートリポジトリから、ローカルリポジトリとの差異をダウンロードしてきます。
フェッチ(fetch)
リモートリポジトリに、更新がないかを確認します。
ブランチ(branch)
対象と全く同じフォルダ・ファイル構造を作成します。
マージ(merge)
ブランチ同士を結合します。
実際の開発の流れ
- 新規作成、もしくはリモートリポジトリからクローンしてローカルリポジトリを作る。
- ファイルを修正したら、インデックスを経てコミットを作成。
- ローカルリポジトリからリモートリポジトリにプッシュする。
- 他の人の変更をインプットするために、リモートリポジトリからプルをして変更履歴をダウンロード、自分のローカルリポジトリで修正をしたら‥2へ戻る