LoginSignup
291
371

Git不慣れ勢を束ねて安全なチーム開発をするメモ

Last updated at Posted at 2024-05-20

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にアクセスできる状態になっている

※参考 私が使用している拡張機能
image.png

  • Git Graph: コミットの履歴などを可視化できる。グラフ上からのコマンド実行も可能
  • GitHub Pull Requests: コミット時、コミット後にプルリクエストが作成できる。また、mergeも可能
  • GitLens — Git supercharged: git上の色々な情報をVSCODE上で確認できる
  • Start git-bash: ターミナル上でgit-bashが使用可能になる

■ 開発をはじめる (Githubflowを前提として)

1. リポジトリのクローン(初回)

対応するコマンド
terminal
# ローカルリポジトリを置きたい階層に移動
cd working_directry
# クローンを実行
git clone https://github.com/xxxxxxxxxx.git
# ➡リポジトリ名と同じ名前のフォルダが作成される。

image.png
クローンするときのURLの取得@Github

image.png
image.png
image.png
image.png
image.png

2. データの最新化(リモート側の最新の状態を反映する)

対応するコマンド
terminal
# ローカルリポジトリの階層に移動
cd working_directry(local_repositry)
# ワークツリーをmainブランチに切り替え(pullの挙動には影響しないが確認用にやっておく)
git checkout main
# ➡エクスプローラータブにmainブランチのファイルが表示される。

# pullを実行する
git pull origin main
# ➡github上のメインブランチのデータを取得しローカルリポジトリ・ワークツリーに反映する。

image.png
image.png
image.png
後のコンフリクトの原因となるので確実にpullしておくこと

3. 作業用ブランチを作成し切り替える

image.png
ブランチ名は任意だがfeature_dsuke_0224_1のように重複しないようにしておくとよい
image.png
branchの発行をクリックするとGithub上にもブランチが作成される
image.png

point
ブランチを作成した時点でbranchでチェックアウトされるため、エクスプローラーで表示されているファイルの変更は作業用のブランチに適用される。

4. 完成したコードをコミット+プッシュする

作業用ブランチにいることを確認して
image.png
コミットし、pullrequestを作成をクリックする

image.png

プルリクエスト単体を後から行ってもOK

image.png

base mainとなっていることを確認し、コメントを書いてcreate

image.png

image.png


マージ担当
image.png
image.png
image.png
image.png
ブランチがローカルリモート共に削除される
image.png
ブランチが削除されmainブランチに切り替わる。リモート側の情報と同期を行う
マージされたmainのデータがローカルに反映される(セルフでマージした場合)


プルリクエスト送信者
mergeされたことを確認したらブランチをメインに切り替える。

確認方法 Show commit graphをクリック

image.png
該当するプルリクエストが承認されマージされていることが確認できる

image.png


次にbranchのツリーを開き不要となったbranchを選択して左クリック
image.png
Delete branchを選択
image.png
Delete Branch & Remoteを選択する。
image.png
branchが削除される
image.png

REMOTEが削除されない場合
fetch prune を実行する1
image.png


■ お世話になった参考ページ

  1. 消したはずのリモートブランチがローカルで表示されるので削除する

291
371
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
291
371