概要
Gitはソースコードのバージョン管理を行うためのソフトウェア。
Linuxの開発者であるリーナス・トーバルズによって開発された。
Gitでソースコードのバージョン管理を行い、Githubへアップロードすることで他のエンジニアとソースコードを共有することができる。
詳細
リポジトリ
ファイルやワーキングフォルダ(ディレクトリ)の状態、変更履歴を記録する場所。
git initコマンドにより.gitディレクトリが作成され、ファイルを管理を始めることができる
Gitの構成
Githubを含めたGitでのファイル管理は以下の4つの場があるイメージ。
・ワーキングフォルダ(ワーキングディレクトリ)
単純にフォルダと言えばすぐに思い浮かべるもので合っている。
.gitディレクトリが保存されている場所。ソースコードや画像など編集対象が置かれており、この場所で各ファイルの編集を行う。
・ステージングエリア
ワーキングディレクトリでgit addを行うとファイルがステージングエリア内のものとして扱われる。
ステージングエリアに移ったものは、次のローカルリポジトリに移ることで変更が確定(コミット)されたものとして扱われる。
ワーキングディレクトリの中で複数のファイルを編集していた場合、全てのファイルをコミットするためにステージングエリアに移すこともできるし、そのうちの1つだけをコミットするためにステージングエリアに移すこともできる。
この次にgit commitを行うことで、ステージングエリアにあるファイルをローカルリポジトリに移動させ、変更を確定(コミット)させることができる。
ステージングエリアはあくまでGit内での場なので、実際にファイルを置いて編集していたフォルダからどこか別の場所に移動するわけではない。
・ローカルリポジトリ
ステージングエリアでgit commitを行うと、ステージングエリア内のファイルがローカルリポジトリに移り、変更が確定(コミット)されたものとして扱われる。
commitされたものは履歴がGit内に保存されるので、これまでのcommit履歴を確認することができる。また、以前のcommitの状態にまで戻すこともできる。
この次に、git pushを行うことでGithub上のリモートリポジトリにファイルを送り、他の人とファイルを共有したり、自分の書いたコードを取り込んでもらうことができる。
ここまでは自分の端末の中で起こっていることであり、端末にインストールしたGitの中で起こっている動き。
・リモートリポジトリ
ローカルリポジトリからgit pushを行うことで、Github上のリモートリポジトリにファイルがアップロードされる。これにより他のエンジニアとソースコードを共有することができる。Github上に集められたソースコードを、各々が自分の端末に取り込んでさらに改良をすることができる。
リモートリポジトリにファイルを送るためには、Githubにアカウントを作って、接続ができるように設定を行う必要がある。
Gitを使った作業の流れ
・ファイルを作成/編集
・ファイルの変更をステージングエリアへ追加
・ローカルリポジトリにコミット
・リモートリポジトリにプッシュ
コメント