- バージョン管理 流れ
- インストール 初期設定
- ローカルリポジトリを作成
- リモートリポジトリの内容を、ローカルリポジトリとして自分のPCに複製
- ローカル環境(個人PC)での変更記録の作成
- ステージングエリア
- コミット
バージョン管理 流れ
- ローカル環境(個人PC)での変更記録の作成
- リモート環境(サーバ)への変更記録の同期
インストール 初期設定
1. インストール状態確認
$ git --version
バージョン表示がなければ、未インストール
2. インストール
$ sudo apt-get install git
3. アカウント情報登録
「.gitconfig」設定ファイルに記載
$ git config --global user.name '個人ユーザ名' $ git config --global user.email '個人メールアドレス'
1. 作業ディレクトリに「cd」移動、「mkdir」作成
2. git ローカルリポジトリ作成
$ git init
※「.git」ディレクトリが作成される
リモートリポジトリの内容を、ローカルリポジトリとして自分のPCに複製
git clone https://github.com/~~~~~
ローカル環境(個人PC)での変更記録の作成
ファイル変更をステージングエリアに追加し、ローカルリポジトリにコミットとして記録するちょこっとメモ
バージョン管理の対象となるファイルの保管先
記録内容:更新日時、更新ファイルとその内容、更新時のメッセージなど
コミット
ファイルの変更をひとつのまとまりとして記録したもの記録内容:更新日時、更新ファイルとその内容、更新時のメッセージなど
ステージングエリア (インデックス)
コミット対象にしたいファイルを一時的に退避する領域ステージングエリア
ステージングエリアに登録
1. ファイルを作成
2. Git状態を確認
$ git status
- Untracked files: + 更新ファイル名:Gitで管理されていないファイル
- nothing added to commit but untracked files present:コミット対象に追加ファイルはないが、Git管理されていないファイルがあり。
- No commits yet:バージョン管理の記録であるコミットが作成されていない
3. ステージングエリアに登録
$ git add . 又は、 $ git add [登録ファイル名]
4. Git状態を確認
$ git status
- Changes to be committed + 登録ファイル名:Gitの追跡対象に追加
ステージングエリアから削除
$ git reset [登録削除ファイル名]
Git管理対象外に設定
「.gitignore」設定ファイルに対象外ファイル名を記載
1.「.gitignore」作成
$ touch .gitignore
確認
$ ls -la $ git status
2. 「.gitignore」ファイルに登録
$ echo "対象外ファイル名" >> .gitignore
コミット
コミット登録
リポジトリにコミット git commit -m
$ git commit -m "コメント"
コミット確認
$ git status
nothing to commit. working tree clean:
管理ファイルは変更なし、コミットするものはありません
コミット履歴を確認
$ git log 簡潔表示 $ git log --oneline
「commit 英数字」で表示
コミット済みファイルを対象外にするには。
$ git reset $ git rm --cached
コミット 取消す
直前のコミット 取消す
git rese・・・不要ファイルをステージング+コミット済み
ステージングエリア:リセット
作業ツリー:そのまま
$ git reset HEAD^
–softオプション・・・ファイル不備を修正後+再コミットしたい
ステージングエリア:そのまま
作業ツリー:そのまま
$ git reset --soft HEAD^
–hardオプション・・・動作確認の為の変更を元の状態に戻す
ステージングエリア:リセット
作業ツリー:リセット
$ git reset --hard HEAD^
2つ以上前のコミット 取消し
git rese・・・変更内容を複数のコミットにまとめ直す
ステージングエリア:リセット
作業ツリー:そのまま
$ git reset 戻したいコミットのハッシュ値
–softオプション・・・複数コミットを一つにまとめる
ステージングエリア:そのまま
作業ツリー:そのまま
$ git reset --soft ハッシュ値
–hardオプション・・・指定コミットを実行した直後の状態に戻す
ステージングエリア:リセット
作業ツリー:リセット
$ git reset --hard ハッシュ値
コミット取消しを取消し
$ git reset --hard ORIG_HEAD
push後、直前のコミット 取消し
コミットメッセージ編集画面で変更
$ git revert HEAD $ git push origin master
push済み、2つ以上前のコミット 取消し
最新からいくつ目までか指定
$ git revert HEAD...HEAD~最新からの数
又は、コミットメッセージ編集画面で変更
$ git revert HEAD...ハッシュ値 $ git revert --continue $ git push origin master
コミットメッセージ 修正
直前コミットメッセージ 修正
$ git commit --amend -m "変更コミットメッセージ"
確認
$ git log 簡略表示 $ git log --oneline
2つ以上前のコミットメッセージ 修正
最初のコミット以外
最新からいくつ目か指定
$ git rebase -i HEAD~最新からの数
最初のコミット
1. コミットメッセージ編集画面で変更 古い順で表示
$ git rebase -i --root
2. 編集コミットメッセージの「pick」→「edit」へ変更、保存
3. コミットメッセージ修正
git commit --amend -m "修正コミットメッセージ"
4. 変更を確定
$ git rebase --continue
$ git log 簡略表示 $ git log --oneline