git操作をVScode上で行い、開発フローをさっさと動かしたい
■ 本稿について
本稿は当初チーム開発時のメンバー向けにまとめたものです。
ある程度、端折っていた背景などを記載しました。
git初心者同士でのチーム開発において、git操作を詳しく知らないメンバーも含め安全に行う必要がありました。しかし、開発期間はごくわずか...この状況を回避するために、下記の対応をとりました。
- Gitコマンドの基礎的な内容を理解する(私)
- 各種操作をGUI上で完結させる拡張機能を色々と導入する
- シンプルな開発フロー(Github flow)を採用し、コマンド実行に相当する操作を限定する
-
各操作をGUI上での操作に置き換え、チームメンバーに教える
本稿はその際の、コマンドやGUI操作に関するメモをまとめたものになります。
こういった取り組みのおかげか、チームの開発をすんなりフローに乗せることができました。
※ Gitコマンドの理解はしている人は不測の事態においては必要不可欠です。最低でも1人は一生懸命勉強しましょう。
■ 前提条件
対象とする動き
Github flowを回すうえで、
- cloneする
- pullする
- branchを切る
- commit/pushする
- pull requestを作成する
- mergeする
- branchを削除する
といった操作について調べました。
commitの取り消しや、mergeの取り消しなどは極力行わなずに済む運用ルールとし、面倒なトラブルシューティングが発生しないように配慮します。
※大規模な開発で無ければ運用でカバーできるはず…
用語
デフォルトの名称を使用している。独自の名称を付けている場合は置き換えること
-
origin
: プロジェクトのリモートリポジトリの名称 -
main
: リポジトリのメインブランチ
環境
VSCODE上でgitにアクセスできる状態になっている
- Git Graph: コミットの履歴などを可視化できる。グラフ上からのコマンド実行も可能
- GitHub Pull Requests: コミット時、コミット後にプルリクエストが作成できる。また、mergeも可能
- GitLens — Git supercharged: git上の色々な情報をVSCODE上で確認できる
- Start git-bash: ターミナル上でgit-bashが使用可能になる
■ 開発をはじめる (Githubflowを前提として)
1. リポジトリのクローン(初回)
2. データの最新化(リモート側の最新の状態を反映する)
対応するコマンド
# ローカルリポジトリの階層に移動
cd working_directry(local_repositry)
# ワークツリーをmainブランチに切り替え(pullの挙動には影響しないが確認用にやっておく)
git checkout main
# ➡エクスプローラータブにmainブランチのファイルが表示される。
# pullを実行する
git pull origin main
# ➡github上のメインブランチのデータを取得しローカルリポジトリ・ワークツリーに反映する。
3. 作業用ブランチを作成し切り替える
ブランチ名は任意だがfeature_dsuke_0224_1
のように重複しないようにしておくとよい
branchの発行をクリックするとGithub上にもブランチが作成される
point
ブランチを作成した時点でbranchでチェックアウトされるため、エクスプローラーで表示されているファイルの変更は作業用のブランチに適用される。
4. 完成したコードをコミット+プッシュする
作業用ブランチにいることを確認して
コミットし、pullrequestを作成をクリックする
base mainとなっていることを確認し、コメントを書いてcreate
マージ担当
ブランチがローカルリモート共に削除される
ブランチが削除されmainブランチに切り替わる。リモート側の情報と同期を行う
マージされたmainのデータがローカルに反映される(セルフでマージした場合)
プルリクエスト送信者
mergeされたことを確認したらブランチをメインに切り替える。
次にbranchのツリーを開き不要となったbranchを選択して左クリック
Delete branchを選択
Delete Branch & Remoteを選択する。
branchが削除される
REMOTEが削除されない場合
fetch prune を実行する1
■ お世話になった参考ページ