1
2

More than 3 years have passed since last update.

GitHub導入

Last updated at Posted at 2020-03-07

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

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2