
Gitとはなんなのか,なぜGitが必要なのかを解説します.
本講座ではコマンドを使って解説をしていきます.
Gitの用語(リポジトリ,working directory, staging area, commit, merge, branchなど)について解説します
Gitのインストールの仕方を解説します.
GItHubのアカウントを作ります.
本講座で使うリモートリポジトリを作成します.
本講座で使うUnixの基本コマンドを解説します.
本講座で使うエディタ(Sublime)をインストールします
GithubへのSSHアクセスを設定します.
Gitを使う上で便利なプロンプト設定をします.(zsh用です.bash用はリソースを確認してください)
本レクチャーで学習する全体のGitのワークフローを解説します.
リモートリポジトリをローカルリポジトリにクローンします
作業用のブランチを作成します.
作業内容をstaging areaに追加します
作業内容をコミットしセーブします
コミットの履歴を表示します.
pushして,ローカルリポジトリの変更をリモートリポジトリに反映します.
GitHubでプルリクエストを作成し,リモートリポジトリのmainブランチにマージします.
pullをして更新されたリモートリポジトリのmainブランチをローカルリポジトリのmainブランチに反映します
不要なブランチを削除します.
スクラッチからGitのリポジトリを作成します.
既存ディレクトリをGitのリポジトリにします.
すでにある他のリモートリポジトリをforkして,自分用のコピーのリモートリポジトリを作成します.
trackファイルとuntrackファイルを解説します.
$git addでstaging areaにstagingした作業内容をunstageします.
working directory内で作業している内容を破棄します.
ファイル名の変更をGitで管理します.
ファイルの削除をGItで管理します.
コミット履歴を表示します.よく使うオプションも合わせて解説します.
.gitignoreファイルを使って,Gitで管理しないファイルやフォルダを指定します.
ブランチの基本操作(作成,名前変更,削除)をします
特定のブランチを現在のアクティブブランチにfast forwardマージします.
次レクチャー「automatic mergeをする」にて,マージ後にsublimeが開かれない場合(15:40付近)は,global configの設定でsublimeをデフォルトのエディタにしてください.
以下のコマンドを実行すればsublimeが開くようになるはずです.
$git config --global core.editor "subl -n -w"
automatic mergeのケースを解説します.
merge conflictを対処します.
リモートリポジトリについて解説をします.
リモートリポからローカルリポに情報を取得するfetch操作を行います
リモートリポからローカルリポにpullの操作をします.pullはfetch+mergeの処理をしています.
pullをしたときにコンフリクトが起こるケースを対処します.
リモートリポジトリのmainブランチにマージをするにはプルリクエストを作成する必要があります.本レクチャーではプルリクエストを作成する手順を解説します.
ローカルリポジトリからfork元のリポジトリにアクセスできるように,fork元のリポジトリをupstreamとして登録します.
fork元のリポジトリにプルリクエストを作成します.
本セクションで色々なdiffをみるために新たにリポジトリを作成します.
diffを確認するのに便利はGUIツール(p4merge)をセットアップします.
working directoryとstaging areaのdiffを確認します.これが一番よく確認するdiffです
working directoryとリポジトリのdiffを表示します.
staging areaとリポジトリのdiffを確認します.
通常の業務では複数のファイルがdiffに表示されるので,特定のファイルを指定してdiffをみる必要がでてきます.本レクチャーでは特定のファイルのdiffを表示する方法を紹介します.
特定のコミット同士のdiffを確認します.
ブランチ同士のdiffを確認します.通常,マージする前にこれを実行して,diffを確認します.
設定しているGUIツール(p4merge)を使用してコンフリクトに対処します.
rebaseの基本的なフローを解説します.
rebase時にコンフリクトが起きた場合の対処方法を解説します.
通常pullはfetchしてmergeしますが,ここではmergeの代わりにrebaseする方法を紹介します.
stashの処理を解説します.
stashした作業内容をapplyしたときにコンフリクトが起こるケースを解説します.
通常のstashではtrack済のファイルの作業内容のみstashされます.本レクチャーではuntrackのファイルの作業内容もstashする方法を紹介します.
gitignoreでGit管理外とされているファイルの作業内容をstashする方法を紹介します.
stashした各作業内容にメッセージを付けてstashする方法を紹介します.
コミットにtagをつけることで,特定のコミットをマイルストーンとして扱うことができます.
tagにアノテーションをつけることができます.通常,release noteとして使います.tagをつける時はなるべくアノテーションをつけるようにしましょう.
tag同士のdiffを確認します.バージョンのdiffを確認するときによく使います.
過去のコミットにtagをつける方法を紹介します.
tagの情報をリモートリポジトリにpushします.普通にpushしてもtag情報はリモートリポジトリに反映されないので注意してください.
ファイルの状態を特定のtagに切り替えるやり方を紹介します.
大好評"米国データサイエンティストかめ"による動画講座第三弾です!
米国で働く現役AIエンジニアがGitをゼロからやさしく教えます.現場目線で教えるので修了後には実際に日々の開発・プログラミング学習にGitを導入することができます.
現役講師が解説!: 実際に毎日Gitを使っている現役のエンジニアだからこそ伝えられる内容です.
わかりやすい!:とっつきにくいGitを,図を使って丁寧に解説するのでGit内部の動きが手にとるようにわかるようになります.
ゼロから教える!:プログラミングの経験が無い人でも進められます.
実践的!:ただ使い方を教えるのではなくて,実際に現場で使う時のポイントなどを解説します.
反復練習で身に付く!:講座内で学習した内容を講座内で何度も反復して使っていきます.なので,講座を終える頃には自然とGitの操作が身に付きます.
本講座で学習できる内容は以下の通りです.
-基本的なUnixコマンド
-Gitの基本的な操作全て(clone, init, pull, checkout, merge, push, branch, fork, fetch, etc)
-Gitの応用的な操作(diff, dfftool, tag, rebase, stash, submodule, etc)
-チームで開発する際のGit活用術
-Githubの周辺技術(markdown, Octotree, Zenhub, etc)
-Gitを扱う上での便利設定(プロンプトhack, SSH設定, p4merge設定, etc)