Git入門
環境構築をしよう
gitのバージョンを確認する
git --version
名前を設定する
git config --global user.name "名前"
メールアドレスを設定する
git config --global user.email "メールアドレス"
gitで使用するテキストエディタを設定
git config --global core.editor 'vim -c "set fenc=utf8"'
φ(・・
日本語が文字化けしないよう、 文字コードとしてutf8を指定
デフォルトではnanoというテキストエディタを使う設定になっているが
日本ではどちらかというとマイナーなのでvimというよく使われるエディタを設定!!
gitのデフォルトブランチ名にmainを設定
git config --global init.defaultBranch main
Branchとは
ざっくりいうと、ソースコードの作業履歴を枝分かれさせて記録していくためのもの
設定ファイルを確認
less ~/.gitconfig
.gitconfigに設定が書かれている
lessはテキストファイルの内容を閲覧するためのコマンド
確認ができたらqキーを押して終了
フォルダの作成
デスクトップにgit_basics(任意の名前)で作成
VSCで開く
このフォルダにローカルリポジトリを作成していく
.gitignoreを設定しよう
.gitignoreとは
gitでバージョン管理対象外とするファイルや、ディレクトリを指定することができる
具体例
- macOS:.DS_Store
- Windows:Thumbs.db
φ(・・
OSが作る隠しファイルが代表例
ソフトウェア開発には不要なファイル邪魔なファイルはgitで管理対象外とすることで見通しが良くなる
.gitignoreの設定について
- 時代背景などによってトレンドがあり、1つの正解はない
- ベーシックな設定方法の1つを紹介
よくある.gitignoreの設定の粒度
- 共通設定(global)
- 各リポジトリ毎の設定(各開発プロジェクト毎の設定)
φ(・・
共通設定の方にはOSが作る隠しファイルなどを除外する設定をする!
各リポジトリ毎の設定には、各プロジェクトごとに異なる設定をする!
使うフレームワークによって異なる
共通設定の方法
設定ファイルGitHub公式のテンプレートを使う
設定ファイルの配置場所についてはデフォルト設定として使われる
~/.config/git/ignore
このパスのファイルに記述する
どこに共通設定に関するファイルを配置するかは意見が分かれるところ
他の場所に書くこともできる!!
ディレクトリを作成
mkdir -p ~/.config/git
テキストエディタのvimで新規に設定ファイルを作成し編集
vim ~/.config/git/ignore
vimが開く
↓
iキーを押して入力モードにする
↓
GitHub公式のテンプレートを開き、
Rawボタンを押してテキスト表示させて1番上にコピペ
↓
escキー、:、wキー、qキー
enter(return)押す
↓
これで設定が完了!!
リポジトリの初期化をしよう
あるディレクトリを gitで管理するにはまず初期化をする必要がある!
手順について
リポジトリを作成するディレクトリであるgit_basicsディレクトリが
カレントディレクトリ(現在のディレクトリ)となっている
-
tutorialというディレクトリを作成
mkdir tutorial -
tutorialの中へ移動
cd tutorial
tutorialがカレントディレクトリになる -
リポジトリを作成したいリポジトリでgit initコマンドを使う
gitリポジトリの新規作成をする場合、
git initコマンドを使う(git initializeの略)
空のgitリポジトリが作成される
gitによる管理はプロジェクトディレクトリごとに行う!!
tutorialディレクトリでinitをすると、
tutorialディレクトリ配下のファイルやディレクトリがgitのバージョン管理対象となる!
コミットをしよう
コミットまでの一連の操作を実行できるようになる
- git statusコマンド
- git addコマンド
- git commitコマンド
実際に操作してみよう
tutorialがカレントディレクトリ
新規にファイルを作成
touch a.js
tutorialディレクトリ配下にa.jsファイルが作成される
a.jsファイルを開いて編集
console.log('A');
ファイルを保存する
リポジトリの状態を確認
git status
On branch main(現在はmainという名のbranchにいるということ)
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
a.js
(いま作業しているファイルとしてa.jsがあるが未追跡であるということ)
(gitリポジトリのワーキングツリーにファイルを作成しただけではgitのリポジトリのバージョン管理の対象として登録されていない)
nothing added to commit but untracked files present (use "git add" to track)
英語のメッセージ、グーグル翻訳を使ってちゃんと読むこと!!
a.jsをgitリポジトリの管理対象とするために
git addコマンドを利用してステージ領域と呼ばれる場所にファイルを登録
git add a.js
ステージ領域とは
commitをする前の一時領域のこと
git statusで状態を確認すると
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: a.js
a.jsがgitリポジトリの管理対象となったので、
commitされる予定の変更内容に
新しいファイルとしてa.jsが表示されている!
git commitコマンドを使って
ステージ領域に登録されている時点のファイル群をローカルリポジトリに登録する
git commit -m "first commit"
-mオプションに続いてcommit内容の要約であるコミットメッセージを書く
⚠️あとで見返したときにわかる内容にする⚠️
時間が経つとなんのcommitか忘れてしまうものなので、
後で見返したときにわかりやすいように書く!
日本語を使うことをOKとしている開発プロジェクトもあるので指示に従う
git statusで状態を確認
On branch main
nothing to commit, working tree clean
現在のワーキングツリーの状態はcommitされている最新の状態から変更がないということ
(ローカルリポジトリの内容とワーキングツリーの内容が一緒である)
ログの確認をしよう
git log コマンド
リポジトリにコミットしたログの確認ができる
git log
先ほどのcommitが表示される
commitの後ろに表示されている文字列はこのcommitを指し示すハッシュ
(commitを指し示すID)
Authorの欄にはgitの初期設定で登録したユーザー名とメールアドレスが記録されている
Dateに日時、commitメッセージが表示されている
ログを見ると誰がいつ操作をしたかを確認できる仕組みになっている
commit e555264d4065a7c52fc632330569b89727f728d9 (HEAD -> main)
Author: saya <ー@gmail.com>
Date: Wed Jan 18 22:22:12 2023 +0900
first commit
指定したファイルやディレクトリのログを確認するには
git log -p
差分が表示される
特定のファイルだけにすることもできる
git log -p a.js
差分を表示したいファイルを指定
a.jsに関してだけの差分が確認できる!
差分の確認をしよう
ワーキングツリー、ステージ領域、最新コミット間の差分を確認できる
git diffコマンド
最新のコミット(前回のコミット)HEADとの差分を確認する
git diff HEAD
キリのいいところまでやりたかったけど、今日はここまで!
今日は早く退勤できて、いつもより時間かけ勉強できたから満足😌
明日が個人的に山場だから、今週ラストスパート頑張ろう!
パワーーー
Discussion