yoshiislandblog.net
元営業の駆け出しアラサーSEが、休日にMACと戯れた際の殴り書きメモ。日々勉強。日々進歩。

この記事は3年以上前に書かれた記事で内容が古い可能性があります

git事始め

2016-09-22

gitを始めてみた。「sourcetreeもいいけどまずはCLIで慣れるべき」という先人の教えを信じて。
ミソは差分確認のコマンドがフェーズによって変わってくるということなのかなぁ

★addの前
$ git diff

★addの後
$ git diff –cached

★commitの後
$ git diff HEAD^ HEAD

■ブランチ作成からpushまでの流れ

### ユーザー名とアドレス設定
$ git config --global user.name "ユーザ名"
$ git config --global user.email "メールアドレス"

### ブランチを切る
# ブランチ作成
$ git branch yoshiisland
# 対象ブランチ確認
$ git branch
* master
yoshiisland
# 対象ブランチ変更
$ git checkout yoshiisland
Switched to branch 'yoshiisland'
# 対象ブランチ確認
$ git branch
master
* yoshiisland

#####
#ここでファイル編集
#####

# 差分確認
$ git diff

### ファイル変更の追跡開始(add)
# 状況確認
$ git status
On branch yoshiisland
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

modified:   tasks/main.yml

no changes added to commit (use "git add" and/or "git commit -a")
# 追跡開始
$ git add tasks/main.yml
# 状況確認
$ git status
On branch yoshiisland
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

modified:   tasks/main.yml

$

# 差分確認
$ git diff --cached

### 変更内容確定(commit)
### この時点でローカルリポジトリに変更が反映される
$ git commit tasks/main.yml
Aborting commit due to empty commit message.
$ git commit -m "テスト"
[yoshiisland xxxxxx] テスト
1 file changed, 23 insertions(+)
# 状況確認
$ git status
On branch yoshiisland
nothing to commit, working directory clean
$

#差分確認
$ git diff HEAD^ HEAD
### 変更内容反映(push)
### この時点でリモートリポジトリに変更が反映される
# yoshiislandブランチに反映
$ git push origin yoshiisland
## <略>
* [new branch]      yoshiisland -> yoshiisland
$