Git用語
場所
用語 |
意味 |
ワークツリー |
編集を行う場所 |
ステージングエリア |
コミットするファイルを登録する場所 |
Gitディレクトリ |
コミットを格納する場所 |
ローカルリポジトリ |
自分専用のリポジトリ |
リモートリポジトリ |
共同で使うリモートリポジトリ |
状態
用語 |
意味 |
untracked |
Gitの管理外(新規作成されたばかりのファイル等) |
unmodified |
変更されていない |
modified |
変更済み |
staged |
ステージングエリアに登録済み |
コンフリクト(競合) |
変更の衝突が起こっている |
コマンド関連
パス
表すもの |
記号 |
カレントディレクトリ |
. |
ホームディレクトリ |
~ |
ルートディレクトリ |
/ |
通常コマンド
コマンド |
動き |
pwd |
カレントディレクトリの絶対パスが表示される |
mkdir ディレクトリパス |
指定したディレクトリを作成 |
ls |
現在のディレクトリの内容を表示 |
ls -a |
現在のディレクトリの全ての内容を表示 |
cd ディレクトリパス |
指定したディレクトリに移動する |
mv [元のファイル、ディレクトリパス] [移動先のファイル・ディレクトリパス] |
ファイル・ディレクトリの移動 |
バージョン確認、設定
コマンド |
動き |
git --version |
Gitのバージョンを確認 |
git config --list |
設定値の一覧を確認 |
リポジトリ
コマンド |
動き |
git init |
ローカルリポジトリを作成する |
git remote add origin リモートリポジトリのURL |
指定した名前で指定したURLのリモートリポジトリを設定に追加 |
git remote remove リモートリポジトリ名 |
リモートリポジトリの設定を削除 |
コミットの作成
コマンド |
動き |
git add ファイル名 |
ステージングエリアに指定したファイルの変更を登録する |
git commit |
コミットを作成する |
git commit -m "commitコメント" |
エディタを開かずにコミット |
git commit -am "commitコメント" |
ステージングエリアに登録し、エディタも開かずにコミット |
git rm |
Git管理下のファイル削除 |
git rm -r |
Git管理下のディレクトリ削除 |
git cherry-pick コミット番号 |
他ブランチの特定コミットのみを反映する |
状態の確認
コマンド |
動き |
git status |
ローカルリポジトリの状態を確認する |
git diff |
ワークツリーとステージングエリアの差分を確認する |
git diff --cached |
ステージングエリアとGitディレクトリの差分を確認する |
git log |
コミットの履歴を確認する |
git log -p |
コミットの履歴を確認する(差分付き) |
状態の復元
コマンド |
動き |
git checkout |
ワークツリーの変更を取り消す(ステージングエリアの状態に戻す |
git reset |
ステージングエリアに追加した変更をワークツリーへ戻す |
ブランチ
コマンド |
動き |
git branch |
使用中のブランチを確認する |
git branch ブランチ名 |
指定した名前のブランチを作成する |
git branch -m 変更前のブランチ名 変更後のブランチ名 |
ブランチの名前を変更 |
git checkout ブランチ名 |
指定した名前のブランチに切り替える |
git checkout -b ブランチ名 |
ブランチを作成し、ブランチを切り替える |
git diff ブランチ名 |
現在のブランチとの比較 |
git merge ブランチ名 |
現在使用中のブランチにマージ |
プル&フェッチ
プル = フェッチ + マージ
用語 |
意味 |
プル |
ワークツリーまで取得内容が反映される |
フェッチ |
ローカルリポジトリまでの取得しかしない |
コマンド |
動き |
git pull リモートリポジトリ名 プルするブランチ名 |
プルする |
git fetch リモートリポジトリ名 |
フェッチする |
ローカルリポジトリに存在しないブランチを取得する際には、フェッチを行い、チェックアウトする必要がある
GitHubを使ってソース管理を始める方法
GitHub上から始める
- GitHubでリポジトリ作成
- ローカルにクローン
既存のリポジトリをフォークして始める
オリジナルのリポジトリに影響を与えることなくファイルに変更を加えることができる
ローカルリポジトリとリモートリポジトリを紐づける
Gitブランチモデル
無秩序にブランチを切るのではなく、ルールを決めてブランチを切ることでコードを管理する。
その際に参考にするのがGitブランチモデル。
参考
いちばんやさしいGit&GitHubの教本
https://book.impress.co.jp/books/1118101036