【初心者向け】Git/GitHubの超基本

チーム開発をしていく上で欠かせない、Git/GitHubについて自分なりにまとめてみました。超基礎的な部分ですが、大まかな流れを理解するのに役立てば幸いです!

Git/GitHubとは

GitとGitHub

Gitとは、誰が、いつ、どのように編集したのかを正確に把握できるバージョン管理システムのことです。Gitを使うことのメリットとしては、「共同作業がしやすいこと」、「異なる保存場所をまとめて管理し、切り替えられること」などが挙げられます。

一方で、GitHubとは、Gitの仕組みと連携し、インターネット上での共同作業を可能にしたWebサービスのことです。「他のユーザと簡単にコミュニケーションがとれるため、効率よく開発ができる」メリットがあります。

バージョン管理について

Gitでは、新しく編集・作成されたファイルやデータから古いバージョンまでが保存されています。このようなファイルやディレクトリを保存しておく場所のことを「リポジトリ」といいます。リポジトリを作成するコマンド($ git init)、もしくはクローンすることで、リポジトリを構成する「.git」ディレクトリを作成することができ、以下の図のようにGitでバージョンを管理します。

Gitの構造

超基本的な用語の説明

blank

次に、Gitの構造を理解する上で必要な用語を説明していきます。

リモートリポジトリ
Gitサーバ上に配置するリポジトリで、複数人で共有するもの

ローカルリポジトリ
自分のパソコンに配置するリポジトリのこと

ワークツリー
実際に作業をしているディレクトリのこと。ワークツリーで作業が完了したら、インデックスへ、ファイルやディレクトリを登録(add)する

インデックス(ステージングエリア)
コミット対象のファイルをまとめた場所

コミット(commit)
インデックスにaddしたファイルやディレクトリの差分をローカルリポジトリに反映させること

プッシュ(push)
ローカルリポジトリにあるブランチをリモートリポジトリに反映させること

プル(pull)
リモートリポジトリとローカルリポジトリの差分のみ、ローカルリポジトリに取り込み、更新すること(更新はワークツリーにも反映する)

クローン(clone)
リモートリポジトリをローカルリポジトリに全て取り込むこと

GitHubにデータを送信するまでの基本的な流れ

Git/GitHubを使ったPull requestまでの基本的な流れは以下の通りです。
blank
①ワークツリーで作業したファイルをインデックスにaddする
				
					$ git add ファイル名  # 対象のファイルを追加

				
			
				
					$ git add .  # 全てのファイルを追加
				
			
②addしたファイルをローカルリポジトリへcommitする
				
					$ git commit -m ‘コミットメッセージ’
				
			
③ローカルリポジトリにcommitしたファイルをリモートリポジトリにpushする
				
					$ git push origin ブランチ名
				
			

その他のgitコマンド

その他、よく使うgitコマンドは以下の通りです。
GitHubとの連携
				
					 $ git remote add origin リモートリポジトリのURL  # 初回
				
			
				
					$ git remote set-url origin リモートリポジトリのURL  # 二回目以降変更時
				
			
現在連携しているgithubの確認
				
					$ git remote -v
				
			
ローカルリポジトリの変更状況の確認
				
					$ git status
				
			
git管理下からファイルを外す
				
					$ git rm ファイル名 # 対象のファイルを削除したい場合
				
			
				
					$ git rm -r ディレクトリ名 # 対象のディレクトリを削除したい場合
				
			
エクスプローラーやFinderでファイルやディレクトリを削除した場合、git add コマンドで「ファイルを削除した状態」をadd, commitしなければならない。しかし、git rmコマンドを使うと、ファイルやディレクトリの削除~commitまでの処理をまとめてやってくれる!
Cloneの仕方
				
					$ git clone リモートリポジトリのURL 
				
			
pullの仕方
				
					$ git pull origin ブランチ名
				
			

まとめ

今回まとめたGit/GitHubの仕組みは超基本的なものです。より応用的、実践的な部分を学ぶための基礎として、Git/GitHubの仕組みを少しでも理解していただければ嬉しいです。
最後までお読みいただき、ありがとうございました!

スーパーソフトウエアの採用情報

あなたが活躍できるフィールドと充実した育成環境があります

blank
blank