From ccd287340d09d28b614b927f2036ffb92e61c212 Mon Sep 17 00:00:00 2001 From: mengfanxing Date: Thu, 30 May 2024 09:28:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=9F=B9=E8=AE=AD=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9=E5=AE=9A=E5=88=B6?= =?UTF-8?q?=E8=A7=84=E7=BA=A6=E4=B8=AD=E7=9A=84=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Lab4/lab4.md | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/Lab4/lab4.md b/Lab4/lab4.md index 05a94b1..6dddb7e 100644 --- a/Lab4/lab4.md +++ b/Lab4/lab4.md @@ -4,16 +4,18 @@ https://www.cnblogs.com/Mufasa/p/14431990.html 有两种方案: - 多分支 - 多仓库 - -## 多分支 -1. 从基线仓库拉取最新的程序到本地 -2. 创建新分支代表定制版本,并切换到新分支 -3. 做一些定制化修改 -4. 测试无误后提交更改 -5. 把定制版本分支推送到服务器 -6. 基线仓库更新优化 -7. 切换到定制版本分支,单次更改可以采用摘取(cherry-pick)命令把基线上的更改提交到当前定制分支。同时同步多次更改可以采用合并命令。 -8. 推送定制分支 + +结合咱们公司项目分配到具体负责人的特点,推荐大家采用 **多仓库**方案创建定制规约版本。 + +~~## 多分支~~ +~~1. 从基线仓库拉取最新的程序到本地~~ +~~2. 创建新分支代表定制版本,并切换到新分支~~ +~~3. 做一些定制化修改~~ +~~4. 测试无误后提交更改~~ +~~5. 把定制版本分支推送到服务器~~ +~~6. 基线仓库更新优化~~ +~~7. 切换到定制版本分支,单次更改可以采用摘取(cherry-pick)命令把基线上的更改提交到当前定制分支。同时同步多次更改可以采用合并命令。~~ +~~8. 推送定制分支~~ ## 多仓库 ### 定制版本搭建 @@ -23,7 +25,7 @@ https://www.cnblogs.com/Mufasa/p/14431990.html #### 2. 做一些定制化修改,代表定制版本 - 如果是新定制版本,直接在当前程序上修改即可 -- 如果是已经存在的定制版本,首先删除基线程序所有文件(保留.git文件夹和.gitignore文件),然后把定制程序复制过来即可。需要注意的是: 要保证定制程序和基线程序的版本相同。如果定制程序比基线落后的话,会丢失中间版本的更改。 +- ~~如果是已经存在的定制版本,首先删除基线程序所有文件(保留.git文件夹和.gitignore文件),然后把定制程序复制过来即可。**需要注意的是: 要保证定制程序和基线程序的版本相同。如果定制程序比基线落后的话,会丢失中间版本的更改。**~~ 拿一个已经存在的定制程序举例,删除基线程序所有文件,只保留.git和.gitignore文件。(这里简化操作,所有操作都在"master"分支进行,如果已经用上"Git Flow"分支管理,应当先切换到"develop"分支,再删除。) ![](./git_deletebase.png) 然后把定制程序复制过来,可以用TortoiseGit查看已修改的内容,此时的已修改应当是基线程序和定制程序的不同点,和用BC对比出来是一样的。 @@ -36,8 +38,8 @@ https://www.cnblogs.com/Mufasa/p/14431990.html #### 4. 创建定制版本仓库 在服务器新建定制版本仓库。 -打开TortoiseGit的推送界面,点击“管理”按钮,选中“origin”查看详细信息。会发现“URL”还是原来的基线仓库连接。我们需要将"URL"改成定制仓库的连接。 -然后我们需要再添加一个名叫“upstream”(上游分支)的远端仓库,链接为原来基线仓库的链接。后面抓取时会用到。 +打开TortoiseGit的推送界面,点击“管理”按钮,选中“origin”查看详细信息。会发现“URL”还是原来的基线仓库连接。我们需要将"URL"改成定制仓库的连接。 +然后我们需要再添加一个名叫“upstream”(上游仓库,**名字可以任意,能表示基线,需要和origin区分开**)的远端仓库,链接为原来基线仓库的链接。后面抓取时会用到。 此时的远端列表如下: ![](./git_origin.png) ![](./git_upstream.png) @@ -58,7 +60,8 @@ https://www.cnblogs.com/Mufasa/p/14431990.html 打开TortoiseGit的合并界面,分支选择“remotes/upstream/master”,点击确定。 ![](./git_merge.png) 如果没有冲突,合并会顺利结束;如果有冲突,需要手动解决冲突。 -合并完成后,就可以测试程序、提交更改、推送更改。 +合并完成后,就可以测试程序、提交更改、推送更改。 +注意,合并只是代码文本的合并,git不会检查字节对齐、EE跨页等问题,仍然需要自己检查改动点。 #### 定制版本更改同步到基线程序 定制版本同步到基线程序要麻烦一些。