はじめに
Gitについて知識が全くなかったので、用語の意味についてまとめました。
用語
リポジトリ
- リモートリポジトリ
特定のサーバ上に設置して複数人で共有するためのリポジトリ - ローカルリポジトリ
ユーザーごとに配置される手元のマシンで編集できるリポジトリ
普段の作業はそれぞれのローカルリポジトリで行い、作業内容を共有するときにリモートリポジトリで公開する
コミット
ファイルやディレクトリの編集作業をローカルリポジトリに記録するための操作
コミットを実行するごとにファイルが生成され、ファイルを編集した履歴やその内容を確認できる
ワークツリー
ユーザーが編集している作業中のディレクトリ
インデックス
作業場所であるワークツリーと、保存場所であるローカルリポジトリの間にインデックスがある
ワークツリーで編集したファイルをコミットしたい場合には一度インデックスに登録しないといけない
編集したファイルをリポジトリへコミットする前にインデックへ登録して仮置きしておくイメージ
クローン
リモートリポジトリをローカルリポジトリに保存する(=ダウンロード)
最初に行う作業
プル
リモートリポジトリとローカルリポジトリの差分のみを保存する
プッシュ
ローカルリポジトリにあるファイルをリモートリポジトリに送信して保存する機能
ローカルリポジトリにコミット → リモートリポジトリにプッシュ
ブランチ
ファイルを編集履歴を分岐させて記録していく機能
メインのブランチとそこから分岐したブランチがある
編集を行うのは分岐したブランチ!!!!!!!
マージ
複数のブランチを一つにまとめて、完成系に近づけることをマージ
フェッチ
リモートリポジトリからファイルの最新情報を取得する操作
プルとは違い、ローカルのファイルを更新しない
リモートリポジトリのファイルをダウンロードしてプルするのか、ファイルの更新があったかどうかを確認する(フェッチ)のが違う
プル=フェッチ+マージ
gitignore基本
gitignore とは Gitによる追跡から特定のファイルを除外するための設定を書き込むファイル
gitignore に記載された対象ファイルは git add の実行時に、インデックスに追加されない
→既に git add されてしまっているファイルは gitignore に関係なく追跡される
# インデックスからのみファイルを削除する(追跡対象からはずす)
git rm --cashed <FILE_NAME>
# ファイルの実体と、インデックスの両方を削除する
git rm
gitignoreの記法
特定のファイルを追跡対象から除外する
# どのディレクトリかを問わず、index.htmlを除外
index.html
# .gitignore が置かれたディレクトリ内のindex.htmlを除外
/index.html
特定のディレクトリを追跡対象から除外する
# 文字列マッチが見つかるパスを除外する
directory-a
# ディレクトリ配下(のすべてのパスを)除外する
directory-a/
特定の拡張子を無視する
*.jpg
*.png
ワイルドカード
gitignoreでは、ワイルドカード「*」および「?」が利用できる
「*」は「/(スラッシュ)以外の文字列」、「?」は、「/(スラッシュ)以外の一文字」にマッチする
まとめ
今回はgitとgitignoreについて調べてみました。初心者の人も苦手意識を持たずにgitを使いましょうね...
参考にしたサイト
https://tcd-theme.com/2019/12/what-is-git.html
https://www-creators.com/archives/1662