Git/GitHub

【Git/GitHub】Gitでバージョン管理を始めるときに最初にするコマンド

Octocat

はじめに

個人でGit、GitHubを使ったことはあるのですが、現職ではGitが採用されていないためチームでGitを使って開発するときにどういう風に使うかを具体的に知りたくて勉強しました。

今回はGitでバージョン管理を始めるときに最初にするコマンドをまとめておこうと思います。
※前提としてGitがインストール済でGitHubアカウントは既に持っている状態

※200606にolの番号リストで表示していた部分をh3に置き換えました。
それでも微妙だけど、単純に使っていくため致し方なし😐

GitとGitHubとは

ざっくりですが、簡単にいうと以下のようなものです。

Git

ファイルをバージョン管理する仕組み

GitHub

Web上でファイルの保管、共有する機能

既存のプロジェクトから作業を始める場合

1. PCの作業フォルダにコマンドで移動

cd ディレクトリ名

※Gitコマンドではありません。
Windows/Macの共通のコマンドでフォルダ移動するためのコマンドです​

2. ローカルリポジトリにリモートリポジトリの内容をコピー(CLONE)

git clone リポジトリ名​

※リポジトリ名はリポジトリのhttps~~.gitのURLでOK

リポジトリとは
バージョン管理においてファイルやディレクトリを保存する場所のことをリポジトリといいます。

ローカルリポジトリ:作業者のPC内のリポジトリ
リモートリポジトリ:Web上のGitHubのリポジトリ

新規プロジェクトから作業を始める場合

1. PCの作業フォルダにコマンドで移動

cd ディレクトリ名

※Gitコマンドではありません。
Windows/Macの共通のコマンドでフォルダ移動するためのコマンドです

2. 移動先のフォルダでローカルリポジトリを作成

git init​​

 

3. GitHubでリモートリポジトリを新規作成

リモートリポジトリがない場合はWebでGitHubにログインし、リポジトリのページへアクセスし「New」をクリックすると作成できます。

リポジトリ新規作成時にReadmeファイルを同時に作成するチェックボックスがあります。

チェックせずに進むとローカルリポジトリに紐づけるために、以降必要なコマンドを表示してくれるので参考にしてみてください。

以降の git remote や git push の流れなどが書いてあります。

4. originという名前にリモートリポジトリのURLを紐づける

git remote add origin リモートリポジトリのURL​

git remote をしなかった場合は、毎回リモートリポジトリのURLを打たないといけなくなります。

またoriginとはGitの慣用句みたいなもので、アクセス先のリモートリポジトリのデフォルトの名前(リモート名)です。

例えば git push origin master というコマンドなら、リモートリポジトリのmasterブランチへpushするという意味になります。

5. ローカルリポジトリにファイルを作成し、リモートに初回プッシュをしておく

git push -u origin master

 

-uについて

今後pushするときに origin master を以後省略できるようにするためのpushコマンドのoptionです。

git pushのデフォルトが origin master なので省略できます。
-uは初回のみ使います。

たか
たか

これでGitでバージョン管理を行う準備ができました。

このあとは add commit push など様々なGitコマンドを利用しバージョン管理を行いながら開発をすすめます

今回参考にさせていただいた教材について

教材はUdemyの有料の動画教材です。

Git: もう怖くないGit!チーム開発で必要なGitを完全マスター

メンターのPCがMac、テキストエディターがAtomなので環境が違うと少し詰まりますが、個人的には学習を進める上では大きな障害にはなりませんでした。

※Windowsの場合はファイル操作などの簡単なコマンドを調べる必要はあります。
※Git利用時にAtomを紐づけてるのですが、私はVS CODEを使っており紐づけがうまくいきませんでした。
※テキストエディターがなくてもGitコマンドの -m というオプションを使えば問題なく進めます。

内容自体はとてもわかりやすいので、本などから入るよりおすすめです。
操作しながら学べて、メンターの経験からこうしてるという話もあるので理解がしやすいです。

メンターの山浦清透さんにはとても感謝しております。
ありがとうございます。