前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >salesforce零基础学习(九十九)Git 在salesforce项目中的应用(vs code篇)

salesforce零基础学习(九十九)Git 在salesforce项目中的应用(vs code篇)

作者头像
Zero-Zhang
发布2020-08-12 16:01:01
8920
发布2020-08-12 16:01:01
举报

本篇参考:

https://code.visualstudio.com/docs/editor/versioncontrol

https://git-scm.com/doc

https://git-scm.com/book/zh/v2

salesforce作为云平台,相信很多人开发都很爽,有啥需求在开发sandbox开发, outbound changeset 或者通过ant migration tool部署到相应的SIT或者UAT环境,测试通过上线~~~

可能有很多人做salesforce做了好多年都没有使用过代码控制工具(这里使用的是git),因为在项目中好像并不需要用到,使用代码控制工具有时候是一个很鸡肋的操作,徒增工作量,得不偿失。本人在4年多的salesforce项目开发中也只有2次的项目使用到了git作为代码管理。那么问题来了,什么场景下推荐使用代码管理呢?

1. 项目很大,瀑布模型进行管理,拆分成很多个功能块,不同的功能块不同的团队成员去协作开发,上线前可能基于设计有相关的修改,并希望对修改内容做出相关的追踪或者保证相关的机能不会被遗漏掉等;

2. 你作为一个乙方人员,很幸运的中标做了甲方公司二期/三期的项目。公司现行系统还有其他公司或者团队去进行维护,针对紧急bug进行hotfix,但是 hotfix内容并不会同步的部署到你方的sandbox中。你方进行UAT阶段或者部署操作,需要将代码和生产代码或者UAT环境比较,遇见不同或者冲突地方(不是你方团队成员更改内容),需要了解此代码是否为需要部署到生产或者是否需要merge的内容,这个时候你不能轻易的直接将全量资源直接deploy,而是需要先比对每个你们的改动与现行系统的区别,确定是你方更改才上传,不确定你方更改需要讨论是否上传。

当然,以上总结的并不全面,只是可能想到的常见的两点。很多人的项目可能并不涉及到源代码管理,因为可能项目的团队直接从0接触项目或者即使二期三期也是在客户现场办公,有啥需求改动内部群里直接吼一声,大家都比较清楚,所以是否使用源代码管理,因项目而异,因实际场景而异。接下来的内容为扫盲篇,内容很简单,也并不全面,起到抛砖引玉作用,使用源代码管理工具的小伙伴们仅供参考。

一. Git

上方的连接中有针对git使用的官方的中文文档,这里只是简单的描述即可,感兴趣的详细查看官方文档。这里先聊一下 Git管理中文件的三种状态。

  • 已提交:数据已经安全的提交到了本地的仓库。
  • 已修改:文件进行了修改,还没有放到本地仓库。
  • 已暂存:将修改的文件进行了标记,文件还没有提交到本次仓库,但是下次提交操作会将标记的文件提交到本地的仓库。

根据这三种状态,我们可以理解成 git资源具有三个阶段。

  • 本机工作区:对项目某个版本提取出来的内容,通常我们在工作区进行修改文件操作。
  • 暂存区缓存路径:对工作区修改文件需要提交到数据库的文件进行打标记,git的术语管他叫索引。
  • Git本地仓库:用来进行存储项目的元数据和对象。如果从其他的计算机克隆仓库的时候,克隆的就是本地仓库的内容。这部分很重要

当我们本地仓库的内容ready以后,我们就可以对远程的资源库进行关联,然后push到远程资源库即可。在git中我们可以使用指令或者图形界面的方式对资源进行操作,详情查看上方的官方文档介绍,这里不再详细展开。

二. Git在 VS Code的配置及使用

1. 当我们打开vs code,没有进行任何版本控制工具情况下以及没有安装git情况下,打开标红的区域,他会提示你要先安装git,OK,接下来我们安装git

2. 下载git。下载链接为:https://git-scm.com/downloads,本人电脑windows,下载以后进行正常步骤安装即可,以下为其中一步的截图。

3. 安装环境变量,电脑中安装的git位置为:C:\git_install\,配置的环境变量位置为:C:\git_install\bin

4. 打开cmd,输入 git --version 如果正常配置完环境变量会在任意的目录下会展示版本,git在vs code中的版本需要在2.0以上。

5. ctrl + shift + p 选择 sfdx:Create Project With Manifest,模板按照项目要求选择即可,demo中选择的是Standard,然后项目名选择的是 MY_DEV4. mainfest目录下的package.xml,选择 sfdx:retrieve source in manifest from org将项目上代码检索到本地。

6. 切换到source control以后点击 Initialize Repository,点击以后很多资源便会在 changes区域下。点击按钮以后默认会创建一个master的本地分支。

7. git最开始没有资源,所以我们最开始可以将全部的资源点击+号上传到 Stage Change区域

8. 输入相关的comments以后点击 √进行 commit操作。点击commit以后资源便会进入了本地仓库。

9. 我们使用git不可能只是针对于本机操作,当在本机准备妥当以后需要和服务器的资源库进行关联,上传到指定的资源库以便其他的团队成员可以获取到最新的上传的组件资源信息。当我们点击三个点以后的 git push以后,因为没有设置远程的资源库站点,点击Add Remote

10. 这里输入 配置的一个资源库,假定我们创建的是一个名字叫做salesforce的资源库,里面最开始没有任何的资源,这里每个人可以设置不同的资源库的名称。

下图中为在github上创建一个资源库,不同公司可能使用不同工具进行管理。

二级弹出来打一下 origin,这里可以打其他的名字,用于你pull push的时候的关键字,下面会有简单的描述

如果我们配置完想要更改或者想要知道哪里配置的,就找到这个根目录,然后有一个 .git的隐藏目录,打开config文件。

config文件打开便会有一些基本的配置,我们如果需要更改可以直接更改里面的内容信息

重新点击push按钮,然后弹出一个modal选择OK,这里貌似有一个需要输入账号密码的流程,因为忘记截图,这里不在展示图片,正常输入git的账号密码即可。

11. 找到git对应的资源库,我们会发现资源都已经上去了。这种就可以作为master分支,作为最基础的版本进行merge,后期我们可以以它作为源,进行创建feature操作,用于团队成员基于不同功能分工的协同操作。

12. 我们创建一个feature1的branch,用来某个功能的增强,这个feature1仅处理feature1对应的功能项。

13. VS code端创建对应的分支,并且从远程分支拉取最新的资源。其中 git checkout -b 相当于两个 git 操作,即git branch:创建一个分支, git checkout: 切换一个分支,创建以后也可以使用git switch进行切换。 git pull origin + 远程的branch 名称用于从远程资源库中获取最新的资源,这里的origin为上面的配置项,如果上面配置其他,这里也修改成其他。

除了使用指令之外,VS code也提供了图形界面的操作。

14. 将需要上传的资源从 changes区域转换到stage change区域,然后填写message点击对号进行commit;点击commit以后点击push按钮提交到远程分支。

15. 先点击pull request,然后点击new pull request以后进行分支与master的比较,确定都是自己的改动以后,点击create new pull request即完成了一次 分支 merge到 master的流程。

16.点击merge以后,改动的代码即merge到master资源库中了。

至此,一个简单的 git进行源代码控制的流程结束。

总结:篇中简单的介绍了git的安装以及 git如何在vs code中配置,这个操作不仅是针对于salesforce,其他的语言都可以使用 git进行源代码控制操作,所以网上关于git的配置和操作很多。本篇浅入浅出,纯属抛砖引玉,感兴趣的小伙伴可以查看上方的官方文档或者其他资源进行深入学习。篇中有错误地方还请指出,有不懂的欢迎留言。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
代码托管
CODING 代码托管(CODING Code Repositories,CODING-CR)是为开发者打造的云端便捷代码管理工具,旨在为更多的开发者带去便捷、高效的开发体验,全面支持 Git/SVN 代码托管,包括代码评审、分支管理、超大仓库等功能。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档