 ### Gitがない場合のチーム開発を考えてみよう! - 1つのファイルを共有する(家で1つのコンロでみんなが味変してる) - Aさんがファイルを作成 (0624_a.rb) - BさんがAさんをもとに作成 (【最新版】0923_a_修正.rb) - さらにAさんがBさんをもとに作成 (【修正版】0923_a_修正_by_a.rb) - ここにCさんが入ってきたら?(【修正版】0923_a_修正_by_a.rb) ### デメリットは? - 人数が増えるたびにファイル数が増える - ファイルの命名規則がないので見づらい - 【誰が、どこまで、どの部分を修正したかが】記録に残っていない ### Gitを使ってチーム開発の流れを覚えてみよう! - GitとGithubの違い - Githubでリポジトリを作成(カレー屋さん) - ローカルにリポジトリをクローン(カレー屋さんのレシピを家のコンロで作業する) ### 🍛 家までカレーのレシピを持ち帰るぞ!(git clone) - git clone - ls -a ### 🍛 家でカレーづくりの準備をするぞ!(git branch) - git branch (コンロの確認) - master / main → 大元のコンロ - 新しいレシピを試したいのに元のコンロのカレーで作業すると、大元のカレーの味が無くなってしまう= 隠し味を試せなくなってしまう - git branch ブランチ名(別のコンロを作成) - git branch konro_a - git checkout(or switch) ブランチ名 - git checkout konro_a - git branch (コンロの確認) => コンロを移動していることがわかる ### 🍛 新作カレーを作るぞ!(git add, commit) - git add ファイル名 - どのファイルを反映させたいか決める - git status - どのファイルが登録されていないか - git commit -m 'メッセージ' - 作業履歴、セーブポイント - git log - 何をセーブしたか ### 🍛 家で作ったカレーをお店に持っていくぞ!(git push) - 家 = ローカルリポジトリ - コンロ = ブランチ - メインのコンロ = master / main - Aコンロ = konro_a - レシピ = curry.rb - カレー屋さん = リモートリポジトリ - お店に持っていく(反映する) = git push - 家のAコンロで作ったレシピをカレー屋さんに持っていく - ローカルリポジトリのkonro_aで作業したREADME.mdをリモートリポジトリにgit pushする - git push リモートリポジトリ名 ローカルリポジトリのブランチ名:リモートリポジトリのブランチ名 - ①git push https://.git konro_a:konro_a - httpsは毎回書くのは長い - git remote -v - originはリモートリポジトリの別名 - ②git push origin konro_a:konro_a - なぜkonro_aにpushするの?masterに直接pushすればよくない? - お店のmasterブランチはお客さんに出す用のコンロ - 自分が家で作ったレシピは美味しくないかもしれない - 1回誰かにレシピが正しいか試食(確認)してもらう必要がある - ③git push origin konro_a - ①、②、③は全部一緒のコマンド ### 🍛 お店でシェフにレシピを味見してもらうぞ!(プルリクエストの作成) - プル = 引っ張る - リクエスト = 依頼する - 家でレシピを作ってきたので、お店のレシピに反映していいか確認してください〜!もし大丈夫だったら元のレシピに混ぜちゃってください〜! - 例えばシェフにダメ出しを食らったら?? - もう一回家で確認をする - 大丈夫そうならもう一回pushする - LGTMです!(Looks Good To Me! 僕的にはいい感じです!) - merge (別のブランチの内容を取り込む事=>基本的には先輩エンジニアが取り込む) - ここの内容が自動レビューで行われている ### 🍛 さらに美味しいカレーを作るぞ!(git pull) - 家の大元コンロには、自分のカレーのレシピは反映されていない - 店の大元コンロには、自分のカレーのレシピは反映されている - 店の大元コンロには、他の人のレシピが含まれているかもしれない - 作業前には、git pull をして最新のレシピの状態にしておく必要がある - git checkout master - git pull リモートリポジトリ名 ローカルリポジトリのブランチ名:リモートリポジトリのブランチ名 - 反映を確認する - 新しいコンロ = ブランチを作って作業する ## 作業手順のまとめ ### 🍛 家でカレーづくりの準備をするぞ!(git branch) - git branch(作業しているコンロの確認) - git branch ブランチ名(コンロの作成) - git checkout ブランチ名(コンロに移動する) - git branch(作業しているコンロの確認) ### 🍛 新作カレーを作るぞ!(git add, commit) - git add ファイル名(作業したファイルの登録) - git status(作業したファイルの登録されているか確認) - git commit -m '作業内容'(作業内容をセーブする) - git log(作業内容がをセーブされているかどうかの確認) ### 🍛 作ったカレーをお店に持っていくぞ!(git push) - git push origin ブランチ名 ### 🍛 お店でシェフにレシピを味見してもらうぞ!(プルリクエストの作成) - プルリクエストの作成(味見して!大丈夫だったらレシピに追加して!🙏) - 修正が必要な場合は、追加でadd,commit,push(言われた所直してきた!大丈夫だったらレシピに追加して!🙏) ### 🍛 さらに美味しいカレーを作るぞ!(git pull) - git checkout master - git pull origin master(お店の新作レシピをもとに新作メニューを考えるぞ!!) - 🍛 家でカレーづくりの準備をするぞ!に戻る - 永遠に🍛を作り続ける
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up