最初に
開発超初心者がGitやGitHubを使いこなせるようになるためのメモ。チーム開発をした際にGitやGitHubの使い方が分からなかったので最初から勉強してみる。
Git/GitHub/リポジトリってなに?
超ざっくり一言で言うと
Git はファイルの変更履歴を管理する道具
GitHubはそのGitの履歴付きファイルをインターネット上で共有できる場所
リポジトリは「ファイル」+「誰が、いつ、どこのプログラムを直したのかを管理」したものをかっこつけて言っただけ
こんな感じです。
Gitを使うと「あー、プログラムを少し前の状態にもどしたいな」と思った時にそれができる。まさにドキュメントのタイムマシン。
GitHubはGitで管理しているプロジェクトをインターネット上で保管・共有できるサービスなのでチーム開発でよく使います。
リポジトリは過去の変更履歴がばっちり残ったすごいフォルダです。
ローカルリポジトリ / リモートリポジトリとは?
GitやGitHubを使うにあたって、「ローカルリポジトリ」や「リモートリポジトリ」という言葉が出てきます。
これも超ざっくり一言で言うと
ローカルリポジトリは自分のパソコンの中にあるプロジェクトの保存場所
リモートリポジトリはインターネット上にあるプロジェクトの保存場所
です。
GitHubでリモートリポジトリを作る
GitHubのアカウントにログイン後
1. 右上の「+」→「New repository」に移動。
2. Repository nameの所に任意のリポジトリ名を付ける。
3.「Public」or「Private」にする。(公開する、もしくはしないか決める)
4. Create repositoryで作成
今回は文法ゲームを作る予定なのでリポジトリ名は「Grammar-Game」としました。高校生の時に皆でやっていた、くだらないゲーム作るぞ('ω')
この時点でリモートリポジトリのURLが発行される。
「https://github.com/自分のユーザ名/リポジトリ名.git」
こんな感じ。これは後からGit Bashで使う。
自分のパソコンにローカルリポジトリを作る
Git Bashを開いて、
cd ~/Desktop/開発 # 作業したい場所に移動
mkdir Grammar-Game # フォルダ作成
cd Grammar-Game # フォルダに入る
git init # ローカルリポジトリを初期化
この「git init」というのは、ローカルリポジトリを新しく作るためのものです。今いるフォルダがGitで管理できるようになります。
ファイルをGitに登録してコミット
git add .
git commit -m "初めてのコミットだよ"
「git add .」というのは、全ての変更をステージに登録すること。
「git commit -m "メッセージ"」は、ステージにある変更を「履歴」として保存すること。
-mの""の中に何をしたのか作業内容を簡単に書く。
リモートリポジトリとつなぐ
git remote add origin https://github.com/ユーザー名/リポジトリ名.git
これでGitHubのリモートリポジトリと接続することができます。
リモートリポジトリに初回pushする
git branch -M main # (必要ならブランチ名をmainに統一)
git push --set-upstream origin main
これでOK!
「git branch -M main」は現在のブランチをmainに変更するためのものです。
「git push --set-upstream origin main」はリモートリポジトリに初めてpushする&紐づけるときに使うコマンドです。
2回目以降の作業はこれだけやる!
git add .
git commit -m "変更内容を簡単に書く"
git push
ファイルを追加・編集したらこんな感じで変更内容を書いた後にpushする。
よく使う関連コマンド
git status
git log
git clone https://github.com/他のユーザ名/リポジトリ名.git
git pull
git diff
git status
今の状態を確認するコマンド
git log
コミットの履歴を見るコマンド
git clone https://github.com/他のユーザ名/リポジトリ名.git
リモートリポジトリを丸ごとコピーしてくる(他の人のプロジェクトをダウンロードする感じ)チーム開発を開始する時にも使える!
git pull
リモートリポジトリから最新の変更を自分のローカルに取り込む
git diff
どこが変更されたか具体的に比較する
最後に
メモなので見にくいかもしれませんがお許しください。
それと間違っている箇所があれば教えてくださると助かります🐱
これから開発頑張るぞ🌞