💨

Git & GitHub

に公開

学習メモ

Git & Github

GitHubを理解するためには、まずGitを知る必要がある。

Gitは最も人気の高い バージョン管理システム(Version Control System) の一つ!

Gitはローカルリポジトリ(自分のコンピュータ)とリモートリポジトリ(サーバーコンピュータ)に分かれている。
自分のコンピュータで作成したプロジェクトをリモートリポジトリに保存し、もし自分のコンピュータのプロジェクトが破損した場合や別のコンピュータからコードを取得したい場合には、リモートリポジトリから直接取得することができる。コードだけでなく、変更履歴もすべて取得できるため、「バージョン管理ツール」と呼ばれいる。
バージョン管理ツールはGit、SVN、CVSなどがあり、現在では最も広く使われているのはGit!!

Gitをクラウド環境で使用できるように提供している場所がGitHub。

GitHubは単なるリポジトリの役割だけではない。開発者の間で巨大なコミュニティを形成していて自分のプロジェクトはもちろん、他の開発者の人気プロジェクトのコードを見ることができたり、Issueを提起したり、他人のプロジェクトを修正して改善することに参加することもできる。
これを オープンソースへの貢献(contribution) と呼ぶ。

Git 設置 (mac)

https://git-scm.com/docs
MacではデフォルトでGitがインストールされている。
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をインストールしたい時↓

missing xcrum エラーが発生した場合

❯ xcode-select --install

https://qiita.com/nishina555/items/e23d73067a5cac182a63

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自動で作ってくれるサイト

https://www.toptal.com/developers/gitignore

プロジェクトで使うOS、開発環境など入力して「作成する」ボタンど押す。

Discussion