# 初心者向けGitとGitHub ## 環境準備 ### 【GitHubアカウントの取得】 https://github.com/ 一般的な手順でアカウント作成。 ### 【GitBashのインストール(windowsのみ)】 https://git-scm.com/downloads インストーラーを起動して以降は手順通りに作業を進めてインストールを完了させてください。 *設定類は特に変更する必要はありません。 ### 【Gitbushを立ち上げて初期設定】 #### 1.スタートメニューからGit/GitBashを探して起動 #### 2.GitBashからユーザー名の設定コマンドを入力 `$ git config --global user.name 自由なユーザー名` #### 3.GitBashからメールアドレスの設定コマンドを入力 `$ git config --global user.email メールアドレス` #### 4.GitBashから設定一覧コマンドを入力して設定が反映されているか確認 `$ git config --list` #### 5.GitBashからメインエディター設定コマンドを入力 `$ git config --global core.editor "code --wait"` #### 6.GitBashから設定確認コマンドを入力して設定が反映されているか確認 `$ git config core.editor` ### 【GitHubとのSSH接続設定】 #### 1.SSH Keyを生成するコマンドを入力 `$ ssh-keygen -t rsa -b 4096 -C "自分のメールアドレス"` #### 2.Keyの保存場所を聞かれるのでそのままエンター #### 3.Key生成時のパスフレーズを聞かれるので好きなパスフレーズを入力 *コマンド上では入力しても表示されませんが裏側で入力されています。 *確認用に2回聞かれますので2回とも同じパスフレーズを入力 #### 4.公開鍵をクリップボードにコピーする `$ clip < /c/Users/自分のPCのユーザー名/.ssh/id_rsa.pub` #### 5.ブラウザでGitHubにログインしてユーザーアイコンからsettingをクリック #### 6.SSH and GPG Keysタブを選択してNew SSH keyをクリック #### 7.先ほどコピーした公開鍵を貼り付けてAdd SSH Keyをクリック #### 8.GitBash上で設定できたか確認 `$ ssh -T git@github.com` *yesと入力してエンター後に上で設定したパスフレーズを聞かれるので入力 自分のユーザーめが表示されればOK ### 【VsCodeのターミナルをGitBashに設定】 #### 1.VsCodeを起動してFile > Preferences > Settings で設定画面に移動します。 #### 2.一番上の検索窓で以下の文言を検索 `Terminal.Integrated.Default Profile: Windows` #### 3.セレクト欄が出てくるのでnullからGitBashに変更してVsCodeを再起動 #### 4.一番上のターミナルをクリックして新規ターミナルを立ち上げて確認 ``` user@DESKTOP-RGUJ68N MINGW64 ~ $ ``` *上記と同じような出力がされていればOKです ### 【よく使うコマンドライン一覧】 ``` //今のディレクトリ(階層)の絶対パスの確認 $ pwd //新しいディレクトリ(階層)を作成 $ mkdir 〇〇 //今いるディレクトリ(階層)のディレクトリ一覧 $ ls //今いるディレクトリ(階層)のディレクトリとファイル一覧 $ ls -a //今いるディレクトリ(階層)内の希望のディレクトリ(階層)へ移動 $ cd ディレクトリ名 //今いるディレクトリ(階層)から一つ上のディレクトリ(階層)へ戻る $ cd .. ``` ## GitとGitHubでバージョン管理(初級編) ### 【初級編で使うGitコマンド一覧】 ``` //リポジトリの作成 $ git init //ステージングエリアに変更を登録する $ git add //コミットを作成する $ git commit -m "コミットメッセージ" //ローカルリポジトリの状態確認 $ git status //コミット履歴の確認 $ git log //リモートリポジトリに変更履歴登録 $ git push origin リモートブランチ名 //リモートリポジトリをpull(ダウンロード)する git pull origin リモートブランチ名 //ローカルのブランチ一覧 $ git branch //新しいブランチを作成する git branch ブランチ名(例:ken1) //ブランチを移動する git checkout ブランチ名(例:ken1) ``` ### 【GitHubにプロジェクトを作成】 #### 1.GitHubのマイページにあるRepositoriesタブを開き、Newボタンをクリック。 リポジトリ名(プロジェクト名)を入力し新規レポジトリを作成。 #### 2.リポジトリが完成したらCodeをクリックしてHttpsからコードをコピーしておく ### 【ローカルプロジェクトをGitHubに登録してみよう】 事前に配布している「GitTest」フォルダをMAMPのhtdocsに配置 #### 1.GitTestフォルダをVsCodeで開く #### 2.ターミナル(GitBush)を開きプロジェクトディレクトリへ移動 `cd /c/Users/自分のPCのユーザー名/GitTest` #### 3.ターミナル(GitBush)上でリポジトリの作成のコマンドを入力 `$ git init` #### 4.一度プロジェクトディレクトリ内にあるファイルやディレクトリを全てステージングエリアに登録 `$ git add .` #### 5.初回コミットをする `git commit -m "初回のコミット"` #### 6.GitHubリポジトリのURLをコピー&ペーストして、リモートブランチとして設定 `git remote add origin GitHubリポジトリのURL` #### 7.ローカルのファイルをリモート(GitHub)にPush(アップロード)する `git push -u origin master` #### 8.GitHub上に反映されているか確認  ### 【ローカルプロジェクトの変更作業をGitHubにPushしてみよう】 #### 1.GitTestフォルダのindex.htmlを少し書き換えてみましょう。 #### 2.ターミナル上で変更した内容をステージングエリアに登録 `$ git add .` #### 3.作業した内容が分かるようにメッセージをつけてコミット `git commit -m "○○という作業をしました` #### 4.変更内容をGitHubにPush(アップロード)する `git push origin master` ## チームでGitHubを使う ### 【チーム用のGitHubを作成】*この作業はチームで1名のみ #### 1.GitHubにログインした状態で右上のプラスボタンからNew organizationをクリックして作成 Freeプランでチーム名をとメインメールアドレスを登録 belongs toはMy personal accountでOK #### 2.途中でメンバー招待リンク確認があるのでメンバーを招待 *この時絶対に全員Owner権限で招待しましょう。 *詳細な用途について聞かれるので適当に回答 #### 3.アカウントが完成したら新しいリポジトリを作成する *この時README.mdを作成にチェックをいれておく ### 【チームのプロジェクトをローカルにCloneする】*この作業はメンバーローカルPCでの作業 #### 1.先ほどのチームのGitHubリポジトリの画面でCodeをクリックしてHttpsのリンクを取得 #### 2.作業したいフォルダ(PHPの場合はhtdocs)をVsCodeで開きターミナルを起動 #### 3.ターミナルからClonemを実行 `git clone GitHubリポジトリのURL` *するとhtdocs階層にプロジェクトフォルダがGitHubから複製される #### 4.対象のプロジェクトフォルダをVsCodeで開きターミナルを起動し以下のコマンドを実行 `git remote -v` 結果 ``` origin https://github.com/対象のプロジェクト/〇〇.git (fetch) origin https://github.com/対象のプロジェクト/〇〇.git (push) ``` 対象のチームのプロジェクトリポジトリのURLになっていればOK #### 5.ブランチを確認 `git branch` 結果 `main` #### 6.個人用ブランチを作成 `git branch ブランチ名(例:ken1)` #### 7.個人用ブランチに移動 `git checkout ブランチ名(例:ken1)` #### 8.もうちどブランチを確認 `git branch` 結果 ``` * ken1 main ``` *がついているのが今作業しているブランチです。 以降は基本このブランチ上で作業するのが一番簡単です。 ### 【個人作業をチームプロジェクトへ反映】 *自分のブランチ上にいることを確認した上で作業です。 #### 1.プロジェクトフォルダ内のREADME.mdを編集する。 #### 2.ターミナル上で変更した内容をステージングエリアに登録 `$ git add .` #### 3.作業した内容が分かるようにメッセージをつけてコミット `git commit -m "○○という作業をしました` #### 4.変更内容をGitHubのチームプロジェクトのリポジトリの新しい個人ブランチにpush(登録)する `git push origin 自分のブランチ名` ### 【GitHub上でPull requestの作成】 #### 1.GitHubのチームリポジトリでタブの3番目Pull requestsを開く #### 2.New pull requestをクリックして以下の設定をする `base:main ← compare:自分のブランチ名` #### 3.変更内容があればここで表示されます。 表示されたらCreate pull requestをクリック *Reviewersをクリックしてメンバーを追加 #### 4.さらにCreate pull requestをクリックするとコンフリクトを確認してくれます。 ここでコンフリクトがなければ緑のボタンでMerge pull requestが出てきます。 *コンフリクトは同じ箇所を別の人間と編集し合った結果競合している箇所のことです。 #### 5.問題なければMerge pull requestをクリックしCOnfirm mergeでMainにコードを反映させます。 #### 6.他の人はPull requestメールが届くので次の作業をスタートする前に自分のブランチ上で最新状態をpull(ダウンロード)してきます。 `git pull origin main` *基本的に作業開始前にgit pullをすることをお勧めします。 また、こまめにGitHubを確認しておきましょう。