MinEMemO

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

📝 更新日:2020-06-06 / 📄 作成日:2020-06-01
Hero Image
目次

はじめに

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

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

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

GitとGitHubとは

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

Git

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

GitHub

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

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

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

cd ディレクトリ名

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

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

git clone リポジトリ名​

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

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

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

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

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

cd ディレクトリ名

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

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

git init​​

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

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

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

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

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

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

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

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

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

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

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

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 というオプションを使えば問題なく進めます。

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

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

profile_icon
taka
プログラマー
いつでも転職希望の業務経験7年目(2023時点)のエンジニアです。 仕事の合間にすこしずつ転職活動はしていますが、条件が合う場合ぜひTwitterなどでご連絡頂けると嬉しいです。 希望条件は基本的に残業は1日x1h程度。収入は一旦現状維持。 ある程度で構わないので、保守運用が管理されていて、精神的に安心して働ける環境が良いです。 経験言語はHTML、CSS、javascript、PHP、MySQL、Docker、Vuejs、Laravel このブログは完全に自作で静的ジェネレータで作りました。 この範囲で言えば React.js Gatsby.js GraphQLも経験があります。 最近はAIがどう社会に受け入れられ、日常になっていくのかの行く末が気になっています。 今までの人生で一番変化を感じて不思議な感覚です。