GitHub GitItで学んだものメモ

Git

オープンソースソフトウェア
変更を記録してくれる
バージョン管理システムとして知られる
ターミナルでいつでも使うことができる

Gitの設定

現在使用しているGitのversionを確認
 git --version
変更が誰によるものか
 git config --global user.name "ほにゃらら"
Eメールアドレス
 git config --global user.email "メールアドレス"

Repositories

プロジェクトのこと
自分のプロジェクトをGitに伝えることで、そのフォルダの中のすべての変更を追跡してもらえる(バージョン管理システム)
以下例

新しいフォルダを作る
mkdir フォルダ名
作ったフォルダへ移動
cd hello-world
フォルダをGitリポジトリとして初期化
git init
現在の状態
git status

ファイルの追加/保存/確認

ファイルをadd
git add ファイル名
説明文と共に変更を保存
git commit -m "コメント"
ファイルの変更を確認
git diff
変更をいっぺんにadd
git add.

GitHubのアカウントを作り、Gitにユーザー名を追加

GitHubのユーザー名をGitの設定に追加
git config --global user.username ユーザ名

・GitHubに作成した名前と全く同じ名前
・大文字小文字は区別されるので注意

REMOTE

GitHubに何かをおくとそれはGitHubのサーバー上に存在していることになる(リモートリポジトリ)
自分のローカル(コンピュータのこと)の変更をpushすることでプロジェクトを最新状態に保てる
リモートにある変更をpullしてそれぞれのコンピュータに取り込みプロジェクトを最新の状態にする

お互いのコンピュータにアクセスすることなくプロジェクトメンバー同士がコードや情報を共有できる

リモートリポジトリを作る

ローカルにあるバージョンをリモートのバージョンと同期するため、空っぽのリモートリポジトリをGitHubに作る
・new repository
・ローカルリポジトリと一致する名前をつけ、短い説明をつける
・publicを選択
・readmeはプロジェクトに関する説明、どう使うか、どう貢献するかを書くもの
・.gitignoreはGitに追跡しないでほしいものの一覧(パスワードファイルなど)
・licenseファイルはプロジェクトに対するライセンスを定義する
・create repository

ローカルとリモートをつなぐ

httpsボタンを選択し、 GitHubサーバ上におけるリポジトリのアドレスをコピーする
ターミナルでGitリポジトリとして初期化したフォルダの中から、GitHubサーバ上にあるリモートバージョンの場所をGitに知らせる(別の名前をつけ複数のリモートを設定することもできる。メインのリモートサーバに対しては通常originと名付ける)

ローカルとリモートをつなぐ
git remote add origin コピーしたURL

作業内容をリモートにPushする

Gitのブランチという仕組みは、プロジェクトの別々の箇所に対して別々のタイミングで作業できるようにするためのもの
最初のブランチはデフォルトではmasterという名前である

masterブランチをGitHub上のoriginという名前のremoteに送る
git push origin master

fork

リポジトリをフォークするとそのリポジトリのコピーを自分のGitHubアカウントの下に作ることになり、それはremoteリポジトリの一つとして使える
あるプロジェクトの自分自身のバージョンを作るために使用したり、元のプロジェクトに対してバグ修正や機能追加を送り返してあげるために使用する

clone(コピー)

リポジトリのコピーを自分のコンピュータ上に持ってくることができる
クローンすると新しいフォルダが作られる
別のGitリポジトリのフォルダの中にリポジトリをクローンしないように注意する

clone
git clone コピーしたURL

ブランチ

Gitリポジトリは必要に応じてブランチを使い、隔離された作業環境を作れる
プロジェクトで作業するとき、または他人と作業するとき、ブランチを作って変更を保存する
メインのブランチを安全に保ち作業できる
作業が終わり、準備が整ったら、ブランチをmasterにマージする

ブランチを作る

ブランチを作るとGitは今いるブランチのものをすべてコピーして、新しく作ったブランチに持ってきてくれる

今いるブランチの確認
git status

ブランチ名は大文字小文字区別あり

ブランチをつくる
git branch ブランチにつける名前
作ったブランチにいって作業する
git checkout ブランチの名前

ソーシャルコーディング

他の人と共同作業が簡単にできるところがGitHubのいいところのひとつ
コラボレーターというのはGitHubのユーザでかつ誰かのリポジトリにアクセスし、編集することが許された権限を持つ人たちのこと
プロジェクトにコラボレーターを追加するにはGitHubリポジトリページに行き、Settingをクリックする
その後Collaboratorsタブを選択、追加したいユーザ名を入力しAddをクリックする

Pull

誰かと一緒に作業していて、ファイルを最新に保ちたいという状況になったとき、pullすることで変更を取り込める

リモートのブランチから変更をpullする
git pull リモートの名前 ブランチの名前
pullする前にリモート上で行われた変更をみてみる
git fetch --dry--run

なにも変更がなければ、Already up-to-date、何か変更があればGitがそれをローカルにマージしてくれる

Pull Request

フォークしたリポジトリに変更や改善を加えたら、それらの変更を元のリポジトリのメンテナーに対して変更を元のリポジトリにpullしてほしいというrequestを送る

ローカルでマージする

あるブランチを今いるブランチにマージする
git merge ブランチの名前
ブランチの切り替え
git checkout ブランチの名前
ローカルのブランチを消す
git branch -d ブランチの名前
リモートのブランチを消す
git push リモートの名前 --delete ブランチの名前
リモートブランチをPullする
git pull リモートの名前 ブランチの名前

注意点

プロジェクト名が複数単語から作られる場合ハイフンをいれる
例 shopping-site