Gitの導入
経緯:Gitを実務で使用する為 目的:Gitの導入~基本的な操作を備忘録としてまとめておく為1.Gitインストール
https://gitforwindows.org/ ・デフォルト設定でインストール2.初期設定
・Gitホームページにてアカウント作成 ・Git Bashを開き以下コマンドで設定を行うgit config --global user.name "example"
git config --global user.email example@example.com
3.Git Bashにおける基本的なコマンド
・ローカルリポジトリの新規作成git init
・ファイルの変更をステージングエリアへ保存
# 追加(個別ファイル)
git add {ファイル名}
# 追加(全ファイル)
git add .
# 削除
git rm {ファイル名}
・ローカルリポジトリにコミット
git commit {ファイル名}
# コミット後変更内容を表示する
git commit -v
# エディタを立ち上げずにメッセージ付きでコミット
git commit -m "{メッセージ}"
・リモートリポジトリにプッシュ※事前にGitHubホームページからリポジトリを作成すること。
# ローカルリポジトリをリモートリポジトリ(GitHub)に登録
git remote add origin https://github.com/{ユーザ名}/{リポジトリ名}.git
# ローカルリポジトリの内容をリモートリポジトリへ送信※masterブランチの場合
git push -u origin master
・Gitリポジトリのコピーを作成する
git clone {リポジトリ名}
#ex.GitHubにあるAtomプロジェクトをローカルリポジトリに作成する
git clone https://github.com/atom/atom.git
・gitの状態を確認
# 現在の変更状況を確認
git status
・変更差分を確認(add,commitする前に使用)
# ワークツリーとステージとの差分
git diff
# ステージとリポジトリとの差分
git diff --staged
・コミット変更履歴を確認する
# コミット履歴を確認
git log
# コミット履歴を1行で表示
git log --oneline
# ファイルの変更差分を表示する
git log -p {ファイル名}
# コミット履歴を表示(コミット数を制限)
git log -n {コミット数}
# ファイルの差分を表示する
git log -p {ファイル名}
・ワークツリーのファイルへの変更を取り消す
git checkout -- {ファイル名}
git checkout -- {ディレクトリ名}
# 全変更を取り消す
git checkout -- .
# 補足.
# "--"を付けているのは,ブランチ名とファイル名が被った時に
# どちらを指しているのかGitが分からなくなるのを避ける為
・ステージした変更を取り消す
git reset HEAD {ファイル名}
git reset HEAD {ディレクトリ名}
# 全変更を取り消す
git reset HEAD .
# 補足.
# 上記はステージへのみ反映されるので,
# ワークツリーへも反映したい場合は追加で「git checkout」も行う
# 「HEAD」は最新のコミットの事を指している
・直前のコミットをやり直す
git commit --amend
# 補足.
# リモートリポジトリにPushしたコミットはやり直したらダメ!
・Gitの管理から外す
ex
→自動生成されるファイル
→パスワードが記載されているファイルetc..
# リポジトリ&ワークツリーから削除
git rm {ファイル名}
# ディレクトリを含めてを削除
git rm -r {ディレクトリ名}
# リポジトリからのみ削除※.gitignoreに追記しておくこと
git rm --cached
# 削除後元の状態に戻す
git reset HEAD {ファイル名}
git checkout index.html
・リモートとのやり取り
# リモートを表示
git remote
# 対応するURLを表示
git remote -v
# リモートリポジトリを新規追加する
git remote add {リモート名} {リモートURL }
# リモートから情報を取得するのには2種類のやり方がある
# 1.リモートから情報を取得する(フェッチ)
# ローカルのremotes/リモート/ブランチに情報が格納される
git fetch {リモート名}
# 上記で取得した情報場所に移動するためにブランチ情報を確認
git branch -a
# ワークツリーの内容を「remotes/origin/master」に切り替える
git checkout remotes/origin/master
# 元のワークツリーの内容に切り替える
git checkout master
# originリポジトリのmasterブランチの内容を自分のワークツリーに統合する
git merge origin/master
# 2.リモートから情報を取得する(プル)
# リモートから情報を取得してマージする
# 「git pull」のみでもOK
# 「git fetch origin master」「git merge origin/master」コマンドと同じ事を1行で行える
git pull {リモート名} {ブランチ名}
# リモートの詳細情報を表示する
git remote show {リモート名}
# リモートを変更する
git remote rename {旧リモート名} {新リモート名}
#リモートを削除する
git remote rm {リモート名}
・ファイルの移動を記録する
git mv {旧ファイル}{新ファイル}
# 以下のコマンドと同じ
# ファイル名を変更
mv{旧ファイル}{新ファイル}
git rm {旧ファイル}
git add {新ファイル}
・コマンドにエイリアスを付ける
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
git config --global alias.co checkout
・その他UNIXコマンド(以下参考になるサイト)
http://www.ritsumei.ac.jp/~tomori/unix.html
4.指定のファイルをバージョン管理からはずす方法
1.バージョン管理を行っているフォルダに「.gitignore」を作成 2.「.gitignore」ファイルにバージョン管理から外したいファイル名を指定する6.その他知識
・Vimの編集 「i」を入力すると編集可能となる 編集完了したら「esc」を押す 「:wq」を入力して「Enter」・コミット時のコメント
1行目:変更内容の要約
2行目:空行
3行目:変更した理由
・bashで画面をクリアする
「Ctrl」+「l」
Gitに関して参考になるサイト(随時更新)