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に関して参考になるサイト(随時更新)