Github基礎操作
目的:基礎操作の習得
前提スキル
・linux等 OSをターミナルで操作出来るレベル
・エディタの操作 Atom VScode
ターミナル
cd/cat/mkdir/touchなどは使えるレベルが前提
Gitとは?
gitファイルのバージョンを管理する
gitはデータをスナップショットで保存する
[リモート]
リモートリポジトリ
--以下ローカル環境--
[ローカル]
ローカルリポジトリ
スナップショットで記録する
ステージ
コミットする変更を準備する所
ワークツリー
自分の作業
git 設定
-
$git config --global user.name "github user name"
$git config --global user.email xxxxxxxx@gmail.com
使用するエディタv
$git config --global core.editor "atom --wait"
$git config user.name
github user name
$git config use.email
xxxxxxxx@gmail.com
$git config --list
登録情報一覧
$cat ~/.gitconfig
情報表示
設定場所
ローカルリポジトリの作成
.gitディレクトリが作成(ローカルリポジトリ)
必要なものも同時に作成される
$cd Documents
Documents$mkdir git_study
Documents$ls
git_study
Documents$cd git_study
Documents/git_study$git init
ローカルリポジトリの作成
Doc~$git init
作成の確認
Doc~$ls -a
. .. .git
Doc~$ls .git/
HEAD branches config description hooks info ...
object
リポジトリの本体
config
設定ファイル
リモートリポジトリ作成
$git remote add origin URL
今後origin で使用ができるためURLを使用してなくて使用したほうが良い
$git push -u origin master
リモートリポジトリの操作 変更・削除
変更
$git remote rename old_name new_name
確認
$git remote
削除
$git remote rm リモート名
リモートリポジトリの追加
リモートリポジトリは複数可
$git remote add リモート名
$git remote add xxxxxxx URL
複数リモートを持つことが出来る
リモートリポジトリから情報を取得する方法
$git fetch リモート名
リモートリポジトリ → ローカルリポジトリ
情報習得
例:
$git fetch origin
全てブランチ情報を表示させる
$git branch -a
remotes/origin/master
切り替え
$git checkout remotes/origin/master
取得したデータをワークツリーに反映
$git merge origin/master
git pull
リモートリポジトリ → ローカルリポジトリ → ワークツリー
$git pull リモート名 ブランチ名
$git pull origin master 略せる
↓
$git pull
同じことをするには
$gitpull =
両方の処理をpullなら一回で行える
$git fetch origin master
+
$git merge origin master
pullより fetch+mergeで運用するほうが無難
現在いるブランチがmasterの場合
$git branch
*master
git_study
リモートリポジトリ
$git pull origin git_study
↓
ローカルローカル
remotes/origin/git_study
↓
ワークツリー
*master ← masterブランチにマージされる
git_study
選択しているブランチにマージされる
リモートの情報を確認する方法
$git remote show
$ git remote show リモート名
HEAD branchの確認など
途中からプロジェクトに参加する(Gitクローンについて)
$git clone <リポジトリ名>
リモートリポジトリ
↓$git clone ファイルと.git両方がコピーされる
ローカル
github コピーしたいリポジトリへ移動
code>https
https://github.com/ユーザー名/リポジトリ名.git
URLのコピーをする<リポジトリ名>にこれを使用する
$git clone https://github~....
基礎操作
git add
ワークツリー → ステージ
$git add ファイル名
$git add ディレクトリ名
$git add .
git commit
ステージ → ローカルリポジトリ
$git commit
$git commit -m "メッセージ" 簡潔に書くこと
$git commit -v コミットの内容変更
リモートリポジトリへ送信
ローカルリポジトリ → リモートリポジトリへ
$git push リモート名 ブランチ名
master デフォルトのブランチ名
$git push origin master
初回 -u を使用すると
$git push -u origin master
次回 origin master をpush する場合
$git push のみで可能になる
git log
変更履歴の確認
$git log
$git log --oneline
$git log -n コミット数
git status
変更状況の確認をする方法
ワークツリー → ステージ
変更確認
ステージ → ローカルリポジトリ
変更確認
git mv
ファイルの移動を記録ファイル名変更
$git mv oldファイル newファイル
gid diff
変更内容の確認
ワークツリー → ステージ
$git diff
ステージ → ローカルリポジトリ
$git diff --staged
$git diff ファイル名
git rm
ファイルの削除
$git rm
ローカルリポジトリ
ワークツリー
両方から削除される
$git rm --chached
ローカルリポジトリから削除
$git rm ファイル名
$git rm ディレクトリ名
例:
$git rm xxxxx.html
$git status
Changes to be committed:
deleted: xxxxx.html
もし戻す場合
$git reset HEAD xxxxx.html
reset: xxxxx.html
$git checkout xxxxx.html
gitにエイリアスを使用する
エイリアスを使用することで略して書くことが出来る
gitのコマンド入力を楽にすることが出来る
--global全体
--globalをつけない場合現在のリポジトリ内で使用出来る
推奨は--globalを使用すること
$git config --global alias.ci commit
$git config --global alias.st status
$git config --global alias.br branch
$git config --global alias.co checkout
機密情報などを管理から外す方法
.gitignoreに記述する
index.html
/root
dir/
//.css
ファイルへの変更を取り消す方法
ステージ → ワークツリー
ステージのじょうたいと同じにする
$git checkout --ファイル名
$git checkout --ディレクトリ名
変更を取り消す
$git checkout -- .
ステージに追加した変更を取り消したい時
ローカルリポジトリ → ステージ
内容を上書きすることで変更を取り消す事が出来る
HEAD
今いる最新のコミットの事
$git reset HEAD ファイル名
$git reset HEAD ディレクトリ名
全消し
$git reset HEAD .
ステージから変更を取り消す為
ワークツリーには影響を与えない
直前のコミットをやり直す
リモートリポジトリにプッシュしたコミット対しては使用しないこと
$git commit --amend
リモートリポジトリの確認
$git remote
origin
詳細確認
$git remote -v
fetch
push