Git/GitHubの基礎を勉強したので備忘録
Git/GitHubについての知識がないため基礎から勉強しました。
今回の勉強で使用したメイン教材は、Udemyの『Git:はじめてのGitとGitHub』です。
Git/GitHubとは?
Gitとは、バージョン管理システムのことで、「誰が」「いつ」「何を」「何のために」変更したのかを記録することができる。
GitHubとは、オンラインでGitを扱うサービスの一つ。
Gitを使った開発の流れ
リモートリポジトリ(GitHub)からファイルを取得(pull)
ローカルでファイルを変更
変更内容をローカルリポジトリへ登録(commit)
変更内容をローカルリポジトリからリモートリポジトリへ登録(push)
Gitのインストール
Macの場合、Gitはデフォルトでインストールされており、terminalで[git --version]コマンドからGitのバージョンを確認できる。
git --version
最新バージョンをインストールしたい場合は、Homebrewがインストールされている状態で[brew install git]コマンドを実行。
brew install git
Windowsの場合は「Git for Windows」からGitをダウンロードする。インストールが完了していれば、Git Bashターミナルから[git version]コマンドでGitのバージョンを確認できる。
git version
Git初期設定
GitHubアカウントを作成し、ユーザ名とメールアドレスをターミナルで登録する。
git config --global user.name "[ユーザ名]"
git config --global user.email [メールアドレス]
Gitを使うには、まずローカルのGitリポジトリの作成が必要。
バージョン管理するディレクトリへ移動し、[git init]コマンドで.gitディレクトリを作成する。
[ls -a]コマンドで.gitディレクトリの有無や中身を確認できる。
git init
ls -a
## .gitディレクトリが作成されていることが確認できる
# . .. .git
ls -a .git/
## .gitディレクトリの中にあるファイルを確認できる
# . HEAD description info refs
# .. config hooks objects
Gitの基本的な流れ
1.ファイルを変更し、変更履歴を[git add]コマンドでステージングエリアへ追加する。ステージングエリアとは、コミットする前にファイルを置いておく場所のこと。
git add [ファイル名]
## まとめて追加する場合はピリオドを指定する
git add .
2.[git commit]コマンドで、ローカルリポジトリにコミットする。
[git commit]コマンドを実行するとエディタが立ち上がるため、コミットメッセージを書いて保存後、エディタを閉じると変更がコミットされる。
git commit
3.プッシュ先のリモートリポジトリが登録されていない場合(初回プッシュ時など)は、[git remote add]コマンドでリモートリポジトリのURLを登録する。
コマンド内の「origin」とは、Gitがリモートリポジトリに対してデフォルトでつける名前で、originにリモートリポジトリのURLが代入されるイメージ!
git remote add origin [リモートリポジトリのURL]
[git push]コマンドで、ローカルリポジトリからリモートリポジトリへプッシュする。
git push origin master
## 初回プッシュ時に[-u]オプションを付けると、次のプッシュからはオプションをつけずにプッシュできる
##(初回) git push -u origin master
##(2回目以降) git push
4.リモートリポジトリ(GitHub)が更新されているはず!!
確認操作
[git status]コマンドで、変更ファイルがあるのか、コミットされているのかなどGitの現在の状態を確認できる。
[git log]コマンドで、リポジトリにコミットされたログを確認できる。
オプション
--oneline:変更を1行で表示
-p:変更内容を表示
-n [数値]:最新のログを[数値]個表示
[ファイル名]:指定ファイルに絞って表示
add、commitをする前に[git diff]コマンドで差分を表示することで、変更内容の確認ができる。
[git diff]コマンドで、ローカルの状態とステージングエリアの状態の差分を表示。
[git diff --staged]コマンドで、ステージングエリアの状態とリポジトリの状態の差分を表示。
(追記)git addに[-p]オプションを付けると、差分を一つずつ確認しながらステージングエリアに登録することができる。
git diffとgit addが同時にできるイメージ!すごい。
ファイル削除時
ローカルからファイルを削除した場合、削除したことをステージングエリアに登録するには[git add]の代わりに[git rm]コマンドを使用する。
ディレクトリごと削除する場合は[-r]オプションを使用する。
ローカルには残したままでGit管理外としたい場合は、.gitignoreファイルに該当のファイル(パス)を記載する。
## .gitignoreファイルを生成する
vi .gitignore
既にコミットしてしまったファイルをローカルに残したままGit管理が意図する場合は、[git rm]コマンドに[--cached]オプションを付けて実行し、該当ファイル(パス)を.gitignoreファイルに記載する。
まとめ
「リポジトリ」「コミット」「プッシュ」などの基本的なワードの意味を理解することができました。
現段階では個人でのGit管理ができるようになったレベルで複数人での使用するまでの知識には至っていないため、引き続き勉強していきます。
またね〜(*˙︶˙*)ノ"