Gitって何が便利なのか
Gitとはバージョン管理システムのことである。 最新のファイルが分からなくなるのを防ぐ 誰が、いつ、何のために変更したのかを残せるGitの仕組み
変更履歴を時系列順にメッセージを残して記録できる 誰が、いつ、何のために変更したのかを遡れる開発の流れ
1.ファイルの変更をする 2.個人リポジトリに変更履歴を記録(commit) 3.共有リポジトリに変更を共有(push)複数人での開発の流れ
1.情報を取得する(pull) 2.開発の流れ(変更→commit→push)GitHubとは
Gitリポジトリのホスティングサービス(コードを預ける場所を提供) ソーシャルコーディングの場でもあり、オープンソースの開発がしやすくなった経緯があるGitHubの特徴
プルリクエストによる複数人開発がしやすい(コードレビューがしやすい)。他のチームのソフトウェアが見える事。プルリクエストとは
変更を上げる際にリクエストを送り、取り込みの可否を依頼、修正改善の確認をするものGitリポジトリのホスティングサービス
Bitbucket(個人開発向き) 非公開リポジトリも無料作成 公開不可のプロジェクト向き 人数制限あり、2〜3人までなら無料 GitHub 非公開リポジトリは有料 公開リポジトリは無料Gitのバージョン確認
$ git version
初期設定
$ git config --global user.name "GitHubのユーザー名"
$ git config --gloabal user.email GitHub登録時のメールアドレス
GitHubにリモートリポジトリを作成
$ git remote add origin https://github.com/~.git(リモートリポジトリのURL)
ローカルリポジトリの新規作成
$ git init
.gitディレクトリが作成。ここでバージョン管理を行う
基本的なワークフロー
1.ファイルの変更をステージングエリアへ追加 $ git add ファイル名 #個別ファイルの追加 $ git add . #全てのファイルを追加2.ローカルリポジトリにコミット
$ git commit #一つの作業に1コミット推奨
3.リモートリポジトリにプッシュ
$ git push -u origin master
origin リモートリポジトリのデフォルト名
master ローカルリポジトリのデフォルトのブランチ名
ステージングエリアとは
複数ファイルを変更した時にコミットするファイルを選択するためのものコミットメッセージの書き方
1行目: 変更内容の要約 2行目: 空行 3行目: 変更した理由リポジトリの状態を確認
$ git status 赤字: 変更されたファイル
緑字: ステージングエリアにあるファイル
変更差分の表示
$Git Commit -vコミットの履歴を確認
$ git log削除したファイルをステージングエリアに追加
$ git rm ファイル名コミットの変更履歴を確認
$ git log --oneline #1行で表示する $ git log -p ファイル名 #ファイルの差分を表示する 4 git log -n 3 #表示するログ数を指定commit ハッシュ値
Author 書いた人の名前とメールアドレス
Date 変更した日付
ここにコミットメッセージが表示
変更差分を確認
$ git diff #ステージとの差分 $ git diff HEAD #ステージとコミットの差分differenceの略
バージョン管理をしたくないファイルをGitの管理から外す
.gitignoreファイルに指定する 自動生成されるファイル パスワードが記載されているファイルなど.gitignoreファイルの書き方
#から始まる行はコメントとみなされるため無視される
指定したファイルを除外 index.html
ルートディレクトリを指定 /root.html
ディレクトリ以下を除外 dir/
既にコミットしている場合
$ git rm ファイル名 #ファイルも一緒に削除
$ git rm -r ディレクトリ名 #ディレクトリも一緒に削除
$ git rm --cached ファイル名 #ファイルは残す(gitの管理だけ外す)
元の状態に戻す
$ git reset HEAD ファイル名
$ git checkout ファイル名