Linux

「Udemy もう怖くないGit」 メモ

 

https://www.udemy.com/unscared_git/

 

セクション3-16

 

リポジトリ作成

$ mkdir git-practce
$ cd git-practce
$ git init

.gitディレクトリが作成される。

.git/

  • リポジトリ
    ・圧縮ファイル
    ・ツリーファイル
    ・コミットファイル
  • インデックスファイル
  • 設定ファイル

 

内容確認

$ ls -a .git/
.  ..  branches  config  description  HEAD  hooks  info  objects  refs

 

セクション3-20

$ vi index.html

<h1>優のGit練習</h1>

 

ステージに追加

git add .

 

セクション3-21 変更を記録する

 

git coomitコマンドはステージからリポジトリにスナップショットを記録します。

記録する
$ git commit

メッセージ付きで記録する
$ git commit -m "メッセージ"

変更内容を確認してcommit
$ git commit -v

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#       new file:   index.html
#
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..8ebe692
--- /dev/null
+++ b/index.html
@@ -0,0 +1 @@
+<h1>優のGit練習</h1>

 

git commitでツリーファイルが作成される

  • ツリーファイル
    ・作成者
    ・日付
    ・コミットメッセージ

 

コミットメッセージ

1行の場合

  • 「変更内容の要点と理由」を簡潔に書く

 

正式な場合

  • 1行目 変更内容の要約
  • 2行目 空行
  • 3行目 変更した理由

 

$ git status ステージとリポジトリの状況を確認する

$ git status

# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#       new file:   index.html
#

 

追記する

$ vi index.html

<h1>優のGit練習</h1>
<h2>追記テスト</h2>

 

$ git status

# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#       new file:   index.html
#
# 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:   index.html
#

 

 

modified: index.html
→index.htmlが変更されているよ!

index.htmlをステージにあげる

$ git add index.html

 

$ git status

# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#       new file:   index.html
#

commitにあげてね!と言われる

 

$ git commit

追記テスト ←コメントを書いて保存

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#       new file:   index.html

 

git statusで確認

$ git status

# On branch master
nothing to commit, working directory clean

ステージにあがっているものも、コミット出来ないファイルもなし。ワークツリーとの変更差分はないよと教えてくれる。

 

 

セクション3-21 変更差分の確認

 

git addする前の変更差分
$ git diff

$ git diff <ファイル名>

git addした後の変更分を確認
$ git diff --staged

 

$ vi index.html

<h1>優のGit練習</h1>
<h2>追記テスト</h2>
<h2>変更差分テスト</h2> ←●追記

 

git addする前の変更差分を確認する

$ git diff

diff --git a/index.html b/index.html
index 6159442..50d5106 100644
--- a/index.html
+++ b/index.html
@@ -1,2 +1,3 @@
 <h1>優のGit練習</h1>
 <h2>追記テスト</h2>
+<h2>変更差分テスト</h2>

 

git diff –satagedを使ってみよう

$ git diff --staged

※何も表示されない

git addしておらず、ステージには何もあがっていないので表示されない

 

git addしてから、git diff –stagedで確認する

$ git add .


$ git diff --staged

diff --git a/index.html b/index.html
index 6159442..50d5106 100644
--- a/index.html
+++ b/index.html
@@ -1,2 +1,3 @@
 <h1>優のGit練習</h1>
 <h2>追記テスト</h2>
+<h2>変更差分テスト</h2>

git addしたものと、リポジトリにあるスナップショットとの変更差分が見れた。

 

コミットしてこの単元を終える

$ git commit -m "変更差分テストを追記"

[master 212d84b] 変更差分テストを追記
 1 file changed, 1 insertion(+)

 

セクション3-21 変更履歴を確認

 

git logコマンド

コミットによる変更履歴を確認する
git log

一行で表示する
git log --oneline

ファイルの変更差分を確認
git log -p <ファイル名>

表示するコミット数を制限
git log -n <コミット数>

 

$ git log

commit 212d84b007a2cd8949a2d1d7db33cad869d99fe0
Author: Yuu-Kanehiro <kanehiro@sys-guard.com>
Date:   Fri May 24 06:53:57 2019 +0900

    変更差分テストを追記

commit c894c2f01971c3cb066103dc22d971e32a27a56f
Author: Yuu-Kanehiro <kanehiro@sys-guard.com>
Date:   Thu May 23 22:44:20 2019 +0900

    追記テスト

 

 

 

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)