ギトギトのGitHub勉強会 基礎編ノート
Gitとはなにか
- Git・・・プロジェクト丸ごとセーブ機能
- 好きなタイミングでプロジェクトを丸ごとセーブできる
- セーブデータ一つのことをコミットと呼ぶ
Gitのメリット
GitHubとはなにか
- リポジトリをアップロードするサイト
- リポジトリ・・・ひとつのプロジェクトのコミットがまとまっているもの.
- つまり,GitHubはセーブデータ(ソースコード)アップロードサイトと言える.
- アップロードしたソースコードは(過去のバージョンも含めて)見ることができる.
GitHubのメリット
- チーム開発が捗る・・・チームみんなでソースコードが共有できるため,捗る.
- みんなに自分のソースコードを見てもらえる・・・自分のソースコードを企業の人に見てもらえば,就職の役に立つかもしれない.
GitHubのアカウントを作ろう
GitHubのアカウントを作る
- ここにアクセス→ https://github.com/
- Sign Upを押す
- Username, Email, passwordを入れ,下のクイズに答える.
- アンケートに答える・・・何の言語が好きですか?とか学生さんですか?とか色々聞かれる.
- FreeかProか聞かれた場合,Free(無料)を選ぶ.
- 登録したメールアドレスにメールが届くので,メールの「Verify email address」を押す.
Gitの初期設定をする
ユーザー名はさっき「Username」で入力したアレのこと.
パソコンを買う度に以上2つのコマンドを実行する.
SSH鍵を登録する
- SSH鍵を登録するという行為をしないといけない.(理由はここでは書かない)
- 何も考えずに以下のコマンドを入力する(ssh-keygenの時はreturn(Enter)を連打する.3回ぐらい.)
- Windowsの人は上手くいかないので,講師に相談すること.
- これが終わったら,GitHubの設定画面を開く.
- GitHubのメインページの右上の方にある自分のアイコン(初期だと変な図形のアイコン)を押すと,メニューが出てくる.
- そのメニューの下の方にある「Setting」を押す.
- 左のメニューにある「SSH and GPG keys」を選択.
- 「New SSH key」を押す
- Titleを入力・・・「学校でもらったMacbookの鍵」という感じで,そのパソコンに関する情報を入れる.詳しければ詳しいほどよい.
- Keyを入力・・・⌘キーとVを同時押しして,謎の文字列が出てきたら成功.
- Add SSH keyを押したら完了.
設定ができているかどうか確認する方法
- (y/n)と言われるので,yと入力.
Hi (あなたのUsername)! You've successfully authenticated,
・・・といった感じのメッセージが表示されたら,SSH鍵の登録は完了.
SSH鍵の登録もパソコンを買う度にやらないといけない.
リポジトリを作ろう
- リポジトリとは・・・ひとつのプロジェクトのコミットがまとまっているもの.
- GitHub上のリポジトリ(リモートリポジトリ)とあなたのパソコン上のリポジトリ(ローカルリポジトリ)を作らないといけない.
リポジトリの初期設定をする
- まずはGitHubのメインページの左の方から「New」を選択.
- 「Repository name」にリポジトリの名前を入力する(プロジェクトの名前)
- 「Private」を選択すると,自分と自分が選んだ人しか見えなくなる.
- 「Public」を選択すると,誰もが見えるようになる.
- 「Add a README file」にチェックを入れる.
- 最後に「Create repository」を押す.
これでリモートリポジトリが完成した.
これを自分のパソコンにコピーする.
ローカルリポジトリの作成
- ターミナルを開いて,ローカルリポジトリを作る場所にcdで移動する.
どこでもいいが,どうしてもわからなかったら以下のコマンドを実行すればいい.
これは,srcというディレクトリ(フォルダ)を作って,そのsrcに移動するという意味.この中に更にローカルリポジトリのディレクトリが入る.
これでリモートリポジトリからローカルへのコピーが行われる.
コミットをしよう
cd
でローカルリポジトリの中に移動するのを忘れないように.
cd (リポジトリ名)
で移動.
- コミットの流れは,Addして,Commitして,Push.
Addする
git add (ファイル名)
でCommitに含むファイルを選ぶ.・・・つまり,セーブするファイルを選ぶ.
- 具体例
git add -A
を実行すると,全てのファイルをaddできる.
一部のファイルだけをaddする方が稀なので,基本的にはこちらを使う.
Commitする
git commit -m (コミットメッセージ)
でCommitする.
- コミットメッセージには,具体的にそのコミットまでに何をしたかを書く.
- 具体例
Pushする
git push
でリモートリポジトリにアップロードする.
mainかmasterか知りたければ
で確認できる.
- これで,GitHubのリポジトリと自分のパソコンのリポジトリが一致する.・・・つまり,セーブデータをアップロードした.
Add, Commit, Pushまとめ
- addでセーブするファイルを選び
- commitで実際にセーブをして
- pushでセーブデータをアップロードする
注意点
-
commitする単位は大きくなりすぎないように.
・例えば,コミットメッセージが「〇〇と△△をした」だったらダメ.
・〇〇のcommitと,△△のcommitとしてそれぞれコミットするべき.
・こだわりすぎても面倒なので,ちょっと気を使う程度でよい.
-
pushしたcommitは基本的に取り消せない.
・取り消せるけど,基本的には無理.
・取り消したいミスが見つかった場合,それを修正するコミットを作成する.
コミットは積み重ね
- コミットにはそれぞれ(最初のコミットを除いて)親コミットというものがある.
親コミットは,基本的には,そのコミットの一つ前のコミットを指す.
- コミットは時系列順に全部揃っていなければならない.(ただし同ブランチ上に限る.)
ブランチについては次回やる.
- pushする時に,他者のコミットが自分のローカルに無いためにpushできないことがある.

(この場合,Cが他者のコミット.)
このままではpushできないので,git pull
を行う.

すると,全部揃うため,pushできるようになる.
コンフリクトについて
- コンフリクト・・・コミット同士の衝突.
- 上記の例をそのまま使う.
コミットB, C, Dの中身が以下のようだったと仮定する.
- コミットCは他者のコミット,コミットDを自分のコミットとする.
この場合,編集箇所が重なっているため,gitはどちらを採用すればよいかわからなくなる.このことをコンフリクトと呼ぶ.
- 対処法としては,どちらを採用するかを決め,もう一度コミットするしかない.
- コンフリクトが発生したら,先輩に相談することを推奨する.
まとめ
- ぶっちゃけaddしてcommitしてpushだけ理解できていればなんでもよい.