はじめに
今回はGitについて学習の備忘録として作成しました。
Gitとは
分散型バージョン管理システムの一つで、Linuxのソースコードを効果的に管理するために開発されたものです。
以下のものはとても詳しく説明してくれてますので、ぜひ読んでみましょう。
・さる先生のGit入門 〜バージョン管理を使いこなそう〜
Gitの良さ
- 変更履歴を順々に記録し、バージョンの差を確認できる
- 複数の並行するバージョンを扱うことができる
- どんなものも入れられる(Excelファイルや画像も可能)
- チームで共有できる
バージョンを管理することでいつ・誰が・何を変更したかがわかる+ファイルの最新の状態がわかる!
Git用語
リポジトリ
:変更履歴を記録する場所
commit
:個人リポジトリに変更履歴を記載
push
:共有リポジトリに変更を共有
・個人での作業での流れ
自分のパソコンでファイルを変更しコミットで記録する→共有リポジトリに pushで登録する
pull
:共有リポジトリの情報を同期
GitHub
Gitリポジトリのホスティングサービス(変更履歴をオンライン上で扱う)
ソーシャルコーディングの場
GitHubの良さ
- プルリクエストによるコラボレーション
- 他チームのソフトウェアが見れる
Gitリポジトリのホスティングサービス
代表的なものにBitbucketというものがある
GitHub | Bitbucket | |
---|---|---|
非公開リポジトリ | 有料 | 無料 |
公開リポジトリ | 無料 | 無料 |
Bitbucketは人数の制限がありチームで開発しようとすると有料になる
個人や2〜3人だと無料に
ローカルリポジトリの作成
コマンドでリポジトリの作成→.gitディレクトリが作成される
$ git init
基本的なフローワーク
- ファイルの変更をステージングエリアへ追加する
- ローカルリポジトリにコミットする
- リモートリポジトリにプッシュする
ステージングエリア
複数ファイルを変更したときに、コミットするファイルを選択するためにあるもの
・個別のファイル
$ git add [ファイル名]
・まとめて
$ git add.
リポジトリに変更を記録する
変更にメッセージをつけてリポジトリに記録するのがコミット
コミットすることで変更がリポジトリ内に時系列で記録される
$git commit
コミットは一つの作業ごとに実施する!
わかりやすいコミットメッセージ
他のメンバーが分かりやすいように書くことが大切
1行目:変更内容の要約
2行目:空行
3行目:変更した理由
色々なコミット
コミットは以下の理由で活用できる
- 新規作成
- ファイルの削除
- 複数ファイルの変更
はじめに覚えるGitコマンド
コマンド | 操作 |
---|---|
git init | リポジトリを新規に作る |
git add foo | ファイルfooをステージする |
git commit-m "msg" | メッセージ"msg"をつけてコミットする |
git log | コミット履歴を見る |
git status | 現在の状況を表示する |
git deff コミットA コミットB |
git statusコマンド
gitリポジトリの状況を確認する
$git status
git statusコマンドで現在の状況を確認しながら作業を進めていく
git logコマンド
リポジトリにコミットされたログを確認する
$git log
オプション
- 一行で表示する
$git log --oneline
- ファイルの差分を表示する
$git log -p index.html
git diffコマンド
ファイルの差分を確認するコマンド
$git diff
add,commitする前に確認しよう!
ステージとコミットの差分
$git deff HEAD
リモートリポジトリ(Git Hub)に登録
git remote addコマンド
ローカルリポジトリをリモートリポジトリに登録できる
$git remote add origin https://github.com/user/repo.git
git pushコマンド
ローカルリポジトリの内容をリモートリポジトリへ送信する
$git push origin master
master以外のブランチへ送信
$git push origin feature
gitで管理しないファイル
git ignoreファイルに指定することでファイルをgitの管理から外す
以下のものはGitで管理しない
- 自動生成されるファイル
- パスワードが記載されるファイル
書き方
- #から始まる行はコメント
- 指定したファイルを削除 index.HTML
- ルートディレクトリを指定/root.html
- ディレクトリ以下を除外 dir/
コミットしてしまったファイルを管理から外す
git rmコマンド
コミットしたファイルをGitの管理から削除する
- ファイルも一緒に削除する
$git rm[ファイル名]
- ディレクトリも一緒に削除する
$git rm -r[ディレクトリ名]
- ファイルは残すがGitの管理を外す
$git rm --cashed [ファイル名]
git ignoreに追記する
ブランチ
:履歴の流れを分岐して記録していくためのもの。分岐したブランチは他のブランチの影響を受けないため、同じリポジトリ中で複数の変更を同時に進めていくことができる。
(マージ)することで、一つのブランチにまとめ直すこともできる
ワークツリー
:現在作業中のディレクトリ
インデックス
- コミットのステージング領域
- git commitのコミット対象
- git addは変更をインデックスに登録する
git commit
:追加・変更したファイルをGitに登録するためのコマンド
Gitのリポジトリに変更内容を登録(保存)するためには、git commitを使用する必要がある
おわりに
Gitについてまとめてみました。
Gitは初心者のうちはイメージが付きにくいですが、使っていくうちに操作に慣れてくると思います。
間違った操作をしてしまっても、解決方法の解説がたくさんあるので落ち着いて取り組んでみてください!!