
講座の紹介動画になります。
初めてUdemyを受講する方向けに、Udemyの学習方法を解説しています。
講座で扱った資料をまとめています。
Gitの歴史、役割を解説しています。
マイクロソフト傘下になったこと、git switchやgit restoreなどが増えたことなどを解説しています。
homebrewでGitをインストールする方法を解説してます。
Gitをwindowsにインストールする方法を解説しています。
GitHubのアカウント登録方法です。
ssh-keygenを使い秘密鍵、公開鍵を作成し、パソコン、GitHubともに設定する方法を解説しています。
windowsでGitBashを使い、SSHキーを作成し、登録する方法を解説します。
いくつかVisualStudioCodeに拡張機能がありますがシンプル+わかりやすいということでGit Graphを採用しています。
現場で使用頻度の高いadd, commit, push の流れをイメージ図を用いてわかりやすく解説しています。
ローカルリポジトリを先に作成して進めています。
GitHub上にリモートリポジトリをつくる方法を解説しています
remoteでリモートリポジトリを紐づけ、pushでアップロードする方法を解説しています。
2回目からは add, commit, pushの3段階で実施できるため改めて流れを解説しています。
addやcommitは複数実施して、pushでまとめてアップロードすることもよくあるので実際に試し動作確認しています。
git push -u をつけることで リモートリポジトリ名、ブランチ名を省くことができるということを解説しています。
外部に漏れてはまずいファイルは.gitignoreを使うことでGitHubにアップしなくなるのでその方法をまとめています。
よく使うブランチについてセーブデータの例えでわかりやすく解説しています。
実際にgit branchを使って動作確認しています。
ローカル、リモートそれぞれブランチがあるので比較しつつ解説をしています。
現場でも使用頻度の高いプルリクエストを実際に試しています。
pull request は1回目と2回目で少し画面が変わることもあり、再度解説しています。
ローカル側でマージする方法を解説しています。
git fetchを実施する前にgit logなどを確認しておきたいため、事前に解説しています。
こちらのgit diffもgit fetch前に扱っています。
ソースコードを丸ごとダウンロードできるgit clone を、mainブランチ、別のブランチとそれぞれ解説しています。
git fetchより先にgit pullを解説することで、git fetchとの違いをわかりやすくしています。
いくつかコンフリクトが発生したため、改めてきれいな状態からgit pullを実施しています。
git fetchを使う場合の確認方法も合わせて解説しています
VSCodeで取り消し、git clean, git restoreで取り消す方法を解説しています。
git restore, git resetで取り消す方法を解説しています。
git resetのsoft, mixed, hardでそれぞれの動きを確認しています。
コミット履歴を残す、残さないそれぞれ、git revert, git reset を使って取り消す方法を解説しています。
プルリクエスト前後ともに git push --delete で取り消すことができるため、その方法を解説しています。
GitHub上で打ち消しプルリクを作る方法を解説しています。
ローマルマージを実行した後に打ち消す方法として、revert, reset をそれぞれ解説しています。
ローマルマージを実行した後に打ち消す方法として、revert, reset をそれぞれ解説しています。
commit後にコメントを修正する方法として、--amend を解説しています。
コンフリクト対策の1つとしてstashを先に解説しています。
stashの機能、apply, drop, popにて適用、破棄の方法を解説しています。
パソコン上の2つのブランチであえてコンフリクトを起こし、対応方法を解説しています。
パソコン上の2つのブランチであえてコンフリクトを起こし、対応方法を解説しています。
解説をシンプルにするために一旦 パソコン側とGitHub側のブランチのズレを解消しています。
push時にコンフリクトが起こった場合の対応について解説しています。
pull時にコンフリクトが起こった場合の対応について解説しています。(commitまでしている状態)
pull時にコンフリクトが起こった場合の対応について解説しています。(addまでしてcommitはしていない状態)
スタッシュで一時退避したファイルをマージしようとした時にコンフリクトが起こったケースを解説しています。
GitHub上でプルリク実施時にコンフリクトが起こったケースを解説しています。
このレクチャーではGitHubのアカウントを2つ使い、模擬的なチーム開発の解説をしますが、GitHub的には非推奨ですのでその注意として収録しています。
改めてSSHキーの設定方法を解説しています。
改めてSSHキーの設定方法を解説しています。
模擬的なチーム開発に使う用のアカウントをprivateで作成しています。
privateリポジトリは他のユーザからは表示できませんが、招待する事で見れるようになるのでその方法を解説しています。
開発しやすいブランチの作り方の参考例として、GitFlowを紹介しています。
次レクチャーでProプランに変更しているのでその補足になります。
(publicレポジトリで問題なければ無料プランのままでOKです。)
mainブランチに直接pushできると危険なので、直接のpushはできないようにする設定を解説しています。(privateリポジトリで利用する場合は有料になります。)
FreeアカウントとProのアカウントの違いについて簡単な比較表をつくりました。
第3者がプルリクを見やすくなるよう テンプレートを作り設定する方法を解説しています。
プルリク後のレビュー方法について解説をしています。
ソースコードを永続的にリンクできる permanent link について解説しています。
GitHubで使うと便利なIssuesの使い方を解説しています。
Issueの機能であるアサインとラベルについて解説しています。
Issueにもテンプレート機能があり、テンプレートを選択したり、フォームを作る事ができるのでその方法を解説しています。
Issueをフォーム形式で設定することもできるのでその方法を解説しています。
バージョン毎にコミットを指定しタグとして表示する機能があるのでその方法を解説しています。
カンバン方式(Classic)でプロジェクトを管理する方法を解説しています。
Projectsをつくり、その中でカードをつくり、プルリク、レビューなどでカードが動く様子を確認していきます。
新しいProjects (beta) の扱い方を解説しています。
使える絵文字一覧を紹介しています。
DIscussions機能の使い方を解説しています。
wikiの使い方を解説しています。
GitHub Actionsの概要を解説しています。
GitHub Actionsを簡単なコードを使って実際に試してみます。
静的ホスティングサービスとして便利なGitHub Pagesの解説をしています。
丸ごとマージではなくいいとこどりして取り込む方法としてcherry-pickを解説しています。
コミット履歴をキレイにする方法として git rebase の扱い方を解説しています。
コミット履歴をキレイにする方法として git rebase の扱い方を解説しています。
ボーナスレクチャーはudemy講座内で唯一 宣伝を行っていい場所になっております。
Git/GitHubはソフトウェア業界の革命とも呼ばれるほど、
なくてはならないシステムになっています。
インターネットで検索すれば、
これでもかというほどたくさんの情報が表示されます。
一方で、
断片的な情報、コマンドだけの情報、似たようなコマンドにオプションなども多々あり、
情報がありすぎ、専門用語がとっつきにくいと、
初めはなかなかハードルが高いとも感じます。
僕も取り組みだした当初はよくわからない状態が続き、
実際に触りだし、検索して実践で扱う中で、
これは必要、これはめったに使わないとある程度指標ができたこともあり、
たくさんの情報を僕なりに再構築して、
最短で実務レベルで使えるような構成にした講座になっています。
Gitはたくさんの機能がありますが、
実践で使う機能はそこまで多くはありません。
たくさんの機能を網羅するのではなく、厳選し、
実践的かつ濃度の高い講座を目指してこのGit/GitHub講座を構成いたしました。
GitHubがマイクロソフト社の傘下になったこともあり、
同じくマイクロソフトが開発しているVisual Studio Codeとも親和性が高くなっていますので、
この講座ではVisual Studio Codeを使う事を前提に解説をしています。
また、
わかりやすさ重視という事で、
正式な名称ではなく、イメージ図や例えを用いて解説している箇所が多くあるため、
あらかじめご了承をいただければ幸いです。
例)
コミット -> セーブポイント
ブランチ -> セーブデータ
スタッシュ -> 地下室
などなど
講座で解説している事
・Git
コードの追加、保存、GitHubへのアップロード
ブランチ
取り消し関係
ダウンロード関係
コンフリフトの対処法
etc...
・GitHub
プルリクエスト、イシュー、ラベル、ページ、プロジェクト
etc...
・Visual Studio Code
拡張機能 Git Graph