2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Salesforce開発初心者向けgit関連の紹介

Last updated at Posted at 2022-06-25

###目次
はじめに
deploy構成の例
gitを使用する開発流れの紹介
gitローカル操作の紹介
終わりに

はじめに

こんにちは、PanGuのChoです。Salesforceプロジェクトを共同開発する際に、gitをどう言うふうに使うのか、そもそもgitはなんですか、と言う疑問を持っている初心者の方がいらっしゃるかと思います。今回はこれらの疑問を想定し、git関連の知識を紹介したいと思います。

また、deploy構成はプロジェクトの方針次第に大きく変わります。本記事に使用する構成例は汎用的なもので、vscodeにてlwcやapex classを開発、デプロイ、ソース管理の構成になっています。

deploy構成の例

salesforce.drawio (1).png
上記の図では、1段目にSalesforceの組織、2段目はローカルフォルダ、3段目はGitHubになっています。説明の便宜上に、gitブランチ名などの名前はSalesforce Sandboxの名前を採用しています。
(1)sfdxにてdeploy
2段目「開発用sandbox1」フォルダにあるソースを、1段目「開発用sandbox1」へdeploy。(vs codeUI上のデプロイ機能と同様)
(2)push
1段目「開発用sandbox1」にてテスト完了後に、2段目「開発用sandbox1」フォルダにあるソースをローカルrepositoryにコミット、そしてGitHubへpush。
(3)pull request
3段目branch「開発用sandbox1」をbranch「結合用sandbox3」へマージ。マージにはGitHubのpull request機能を使用。
※ここでは、3段目branch「開発用sandbox2」は別機能開発のソースを並行管理していることも想定しているが、3段目branch「開発用sandbox2」に関する操作は、3段目branch「開発用sandbox1」と同じのため割愛。
(4)pull
2段目ローカルフォルダ「開発用sandbox3」のソースを最新化する。
※「開発用Sandbox1」にて開発したソースを含めるように。
(5)sfdxにてdeploy
1段目Salesforce「結合用sandbox3」にdeploy。結合テストを行う。
(6)sfdxにてdeploy
(5)結合テストにて保証したソースを、「本番」へdeploy。
(7)backup
2段目ローカルフォルダ「本番」にSalesforce本番のソースを取得。
(8)push
3段目branch「本番」pushことによって、本番のdeploy履歴を管理。

ここまで、汎用的なデプロイ構成をご紹介しました。イメージを掴んだでしょうか?

gitを使用する開発流れの紹介

gitを使用する開発流れを紹介します。下図にある「local repository」は前述の「開発用sandbox1」か「開発用sandbox2」に当てはまります。「remote repository」は共同開発のソースを集約する役目になります。
git_remote.1.png

プロジェクトに参画した際に、すでにgit repositoryが建てられている場合は多いです。既存git repositoryからStartの手順を詳しく説明します。
(1)新機能開発用repositoryをfork(または新branchを切る)
汎用的に下図は新repositoryをforkすると表記しています。実業務のほとんどは新repositoryの代わりに、新規branchになるかと思います。
git_remote.2.png
(2)forked repository(またはbranch)をローカルへclone

(3)ローカルに開発したソースをcommit

(4)push
ローカルに開発したソースを、リモートrepositoryへpush
git_remote.4.png
(5)並行開発
元のrepositoryに、他メンバーやチームによって先に、開発された内容がコミットされたを想定。
git_remote.5.png
(6)pull request
自分が開発を行っているrepositoryまたはbranchを、元のrepositoryへマージ作業は、GitHubのpull requestにて行う。pull requestのpull(引く)と言う言葉は、元repositoryの角度からよるものです。
git_remote.6.png
さて、ここまではgit remoteに絡む操作を紹介しました。いかがでしたか?

gitローカル操作の紹介

gitインストール
ここでは、gitのインストール手順を割愛します。

gitインストールされているかを確認
git --version
gitに使用するアカウントの初期設定(例)
git config --global user.name "pangu taro"
git config --global user.email "info@panguinfo.com"

ローカルgit環境の概要
下図のように、4つの領域が別れています。
git_local-Page-1.png

ローカルrepository作成:非gitフォルダよりgit repositoryを作成する場合

gitフォルダの初期化
git init

上記コマンドを実行後に、下図のように、それぞれの領域が作られます。
git_local-Page-2.png

ローカルrepository作成:GitHubよりgit repositoryをcloneする場合

cloneコマンドの例
git clone https://github.com/domain/repository.git

上記コマンドを実行後に、下図のように、remote repositoryのコミット履歴を含んだリソースはローカルフォルダに作られます。git initは実行不要です。
git_local-23.png

stagingエリアにファイルを追加

stagingエリアにファイルを追加するコマンド
git add file  #該当ファイルのみ
git add .      #該当フォルダにあるすべてのファイル

上記コマンドを実行すると、work treeにあるファイルがstagingエリアに追加されます。コミット対象になります。
※SVNなどと違って、コミット都度にこの操作が必要です。
git_local-Page-3.png

commit

commitコマンド
git commit -m "コミットコメント"

上記コマンドを実行すると、stagingエリアにあるファイルがコミットされます。
git_local-Page-4.png

remote repositoryの設定&確認
GitHubよりgit repositoryをcloneした場合は、git remote add手順は不要です。

git remote add origin https://github.com/domain/repository.git
git remote -v #確認

上記コマンドを実行すると、remote repositoryが設定されます。
git_local-21.png

remote repositoryへのpush

git push origin master

上記コマンドを実行すると、ローカルrepositoryにコミットしたソースは、remote repositoryへアップロードされます。
git_local-22.png

終わりに

本記事は全体像をフォーカス、駆け足でSalesforce開発する際に使用するGitのまわりを解説しました。ご参考になりましたでしょうか?具体的なGitコマンド使い方、GitHubへの認証設定方法は割愛しております。このあたりにお気になる方は該当するナレッジサイトをご参照いただければ幸いです。

2
3
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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?