Git & GitHub
学習メモ
Git & Github
GitHubを理解するためには、まずGitを知る必要がある。
Gitは最も人気の高い バージョン管理システム(Version Control System) の一つ!
Gitはローカルリポジトリ(自分のコンピュータ)とリモートリポジトリ(サーバーコンピュータ)に分かれている。
自分のコンピュータで作成したプロジェクトをリモートリポジトリに保存し、もし自分のコンピュータのプロジェクトが破損した場合や別のコンピュータからコードを取得したい場合には、リモートリポジトリから直接取得することができる。コードだけでなく、変更履歴もすべて取得できるため、「バージョン管理ツール」と呼ばれいる。
バージョン管理ツールはGit、SVN、CVSなどがあり、現在では最も広く使われているのはGit!!
Gitをクラウド環境で使用できるように提供している場所がGitHub。
GitHubは単なるリポジトリの役割だけではない。開発者の間で巨大なコミュニティを形成していて自分のプロジェクトはもちろん、他の開発者の人気プロジェクトのコードを見ることができたり、Issueを提起したり、他人のプロジェクトを修正して改善することに参加することもできる。
これを オープンソースへの貢献(contribution) と呼ぶ。
Git 設置 (mac)
Gitがインストールされているかどうかを確認↓
❯ git
usage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
[--config-env=<name>=<envvar>] <command> [<args>]
インストールされてない時や、最新バージョンのGitをインストールしたい時↓
- https://git-scm.com/ 接続
- Download for Mac
- ダウンロードfile 実行
missing xcrum エラーが発生した場合
❯ xcode-select --install
Git バージョン確認・初期設定
ダウンロードしたGitバージョン確認 ↓
❯ git --version
git version 2.41.0
Gitを使用する為に、ユーザー情報の設定が必要 ↓
❯ git config --global user.name "kim"
❯ git config --global user.email email@example.com
設定が正しく行われているか確認 ↓
❯ git config --list
リポジトリ作成
- 作業するディレクトリーを作成(mkdir)した後、そのディレクトリーへ移動(cd)
❯ mkdir git-test
❯ cd git-test
- 現在ディレクトリーに git init でバージョン管理を始める。
❯ git-init
git init をするとディレクトリー内 .git(local repository)ができる。
❯ ls -al
total 0
drwxr-xr-x 3 kim staff 96 7 10 18:16 .
drwxr-xr-x 25 kim staff 800 7 10 18:16 ..
drwxr-xr-x 9 kim staff 288 7 10 18:16 .git
Warnung: この際, 一つのディレクトリーは一つの .gitを持つ。そうしないと衝突する。
add, commit
❯ touch README.md //file 作成
❯ git add README.md //fileを stageに上げる git 管理対象(Tracked)にする
❯ git commit -m "first commit" // "commit message 入力"
status (状態確認)
❯ git status
Untracked : file作成後一度もgit add
してない状態。
Tracked : gitが管理しているfile
- Unmodifie : 最新commitと比較し変更が無い状態。
- Midified : 最新commitと比較し変更が有る状態。
- Staged : fileを修正して
git add
した状態。
diff (変更確認)
git add
前に最新commit内容とMidified内容を確認
❯ git diff
q
で出てくる。
log (commit history確認)
❯ git log
.gitignore
version管理する必要がないFileを.gitignore
へ追加する。
# 拡張子が .a のfileは無視する。
*.a
# 上記で .a のfileは無視するようにしたが、 lib.a は無視しない。
!lib.a
# root ディレクトリーの TODO fileは無視する。 subdir/TODOのように下位ディレクトリーは無視しない。
/TODO
# build/ ディレクトリーの全てのfileは無視する。
build/
# `doc/notes.txt` は無視する。 doc/server/arch.txt のような構成は無視しない。
doc/*.txt
# `doc` ディレクトリー内全ての .txt fileは無視する。
doc/**/*.txt
.gitignore自動で作ってくれるサイト
プロジェクトで使うOS、開発環境など入力して「作成する」ボタンど押す。
Discussion