Designer*
Hamanaka Miho

Blog

【Git】の全体像とコマンドメモ

仕事で使うので、コマンド復習して、備忘録。
Udemyで学んで、よく理解できた!!
この講座、めちゃくちゃわかりやすかった!

まだ怖いからGUI頼りながらも・・・ゆるゆる頑張る。。。

この復習する前は、
スクールでチーム開発したおかげもあり、
GitHubデスクトップを使い慣れてしまったからか、
感覚で問題なくプルリクまで動かせていて、

でも、「私、なんでできているかわからない笑!(ホラー!)」
そもそも、Gitの全体像とコマンド・・・全く結びついてない・・・・

って、めちゃくちゃ自信ない、Git怖いって思ってたので。笑

それを解消すべく、Udemyやりながら、
自分なりにまとめてみた↓

Git の全体像 + おおまかなコマンド

自分では、頭がすっきりした!!
(ちなみに、こういうメモはXdで1hくらいで
メモ見ながらチャチャッと作成・・・)

1年前の私がみたら、
なにこれーって思っていたかもだが、笑
1年もたてば、理解できるもんなんだね。(いや、遅いか・・)

プルリク(プルリクエスト)を、
プレリク(Pre Beforeだと思ってた)
って言い間違えたり!!恥ずかし、笑、

ブランチきる(新しいブランチ作成する)を
「きる=削除」だと思って、ブランチ消すと思っていた
そんな頃が、懐かしいです。笑。。。

しかも、講座で学んだらコマンドも一通り理解できた
・・・我ながら、関心。。。
(実務でバリバリ使えるようになりたいが、基本操作以外はまだ怖い。。。)


コマンド メモ集

※rebaseは理解したけど、メモのみ残してしばらく使わなそうなので省略。
・リベース- 親(基点)となるコミットを新しくする(Re Base)
・マージ- 枝分かれした2つの親ブランチを統合するのに、新しくマージコミットを作成
※stashとtagも省略

■ローカルリポジトリ作成

#gitディレクトリが作成、(隠しフォルダなので、ls -a)
git init

■Git リポジトリのコピー作成(クローン)

git clone <リポジトリ名>

■変更をステージに追加

#全部
git add .

git add <ファイル名>
git add <ディレクトリ名>

■変更を記録(コミット) git ci

#一行で簡潔にかく
git commit -m "<メッセージ>"

#vimエディタ立ち上げ、二行目に理由書く ※vimエディターiで書いて、esc→:wqで終わり
git commit -v

■変更状況を確認する git st

#変更状況を確認する、リポジトリの状態・ステータス確認
git status

■変更差分を確認する

# add前の変更分
git diff
git diff <ファイル名>

#add後の変更分
git diff --staged

■変更履歴を確認する、コミットしたか確認

# 一行で表示
git log --oneline

#変更差分を表示
git log -p <ファイル名>

#コミット数を制限して表示
git log -n <コミット数>

■GitHubに送信(プッシュ)

git push <リモート名> <ブランチ名>
#masterブランチに
git push origin master

#origin(GitHub)というショートカットでURLリポジトリ登録する
#※originは、リモートリポジトリのデフォルトで付けられた名前のこと。ネット上のリポジトリを置くサーバーの登録がこのコマンド。
git remote add origin <url>


■ファイルの変更を取り消す git co —

#ワークツリーの変更を消したい
git checkout -- <ファイル名>
git checkout -- <ディレクトリ名>

#全変更を消したい
git checkout -- .

■ステージに追加した変更を取り消す

#ワークツリーには、残るよ
git reset HEAD <ファイル名>
git reset HEAD <ディレクトリ名>

#ステージあるの全部消す
git reset HEAD .

#「HEAD」は、ブランチの先頭を表す名前。デフォルトはローカルリポジトリのmasterの先頭をさす。

■直前のコミットをやり直す

#リモートにプッシュしたら、これは使えないよ
git commit --amend -m "<メッセージ>"

■リモートを表示する

#名前のみ表示
git remote

#対応するURLを表示
git remote -v

■リモートから取得1(フェッチ→マージ)

#fetchした内容は、リモート/ブランチで保存される
git fetch <リモート名>
↓
#なので、ワークツリーに取り込む時は・・・ ※マージ=他人の変更内容を取り込む マージコミット残る
git merge <リモート名>/<ブランチ名>

■リモートから取得2(プル)

#リモートからマージまで一気に取得する 
# ※git pull <リモート名> <ブランチ名>のこと マージコミット残る
git pull

■リモートから取得3(フェッチ→リベース /プルのリベース型)

#fetchした内容は、リモート/ブランチで保存される
git fetch <リモート名>
↓
#マージコミット残らない
git pull --rebase <リモート名> <ブランチ名>

■ブランチ git br

1, ブランチの新規追加 ブランチきる

#ブランチを新しく作るだけ、切り替えはしないよ
git branch <ブランチ名>

2, ブランチ切り替える git co

git checkout <ブランチ名>

3, ブランチの新規作成+切り替える

git checkout -b <ブランチ名>

4,ブランチの一覧表示

git branch

#リモートも全て表示
git branch -a

5,ブランチ名の変更

git branch -m <ブランチ名>

6,ブランチの削除

#masterにmergeしていない変更があるときは、削除しないよ ※強制削除は -D
git branch -d <ブランチ名>

– プルリクまでの基本流れメモ –

※git のエイリアス設定している想定で、コマンド一部省略。

#ブランチ確認
git br

#ステータス確認
git st

#masterブランチ最新に更新
git pull origin master

#新しくブランチきる
git co -b <ブランチ名>

#変更をステージに
git add .

#コミット
git ci -m "<メッセージ>"

#GitHubプッシュ、 ※その後プルリク→コードレビュー→マージ
git push origin <ブランチ名>

↓

#マスター移動
git co master

#masterブランチ最新に更新
git pull origin master

#ブランチ削除
git br -d <ブランチ名>

– 補足:Linuxコマンド超基本メモ –

デザインばかりやると、ふとした時に忘れてしまう・・・ので。

#ディレクトリ移動
cd

#ディレクトリ新規作成
mkdir <ファイル名>

#ディレクトリ内表示
ls

#隠しファイル含め、ディレクトリ内表示
ls -a

#ファイル削除
rm <ファイル名>

#空ファイル作成
touch <ファイル名>

#ファイル中身を見る
cat <ファイル名>