开发环境
名称 | 版本 |
---|---|
操作系统 | Windows 10 X64 |
JDK | JDK1.8(jdk-8u151-windows-x64) |
IntelliJ IDEA | IntelliJ IDEA 2021.2.1 |
Maven | Maven 3.6.0 |
Git | 2.26.2 |
Git 工具
工具 | 描述 |
---|---|
TortoiseGit | TortoiseGit 是基于 TortoiseSVN 的 Git 的 Windows Shell 界面。 它是开源的,可以完全使用免费软件构建 |
UGit | 鹅厂自己的 Git GUI 功能全面,新手友好,而且一些特定场景下有优化 |
GitExtension | Git Extensions 是 git 图形化客户端,用于控制 Git 资料库, 完美至支持 Windows 系统的资源管理器集成和 Visual Studio集成 |
查看当前项目 Git 地址
git remote -v
合并分支-使用 TortoiseGit
1.基于当前分支 master
新建分支 ETMSV1.0Beta22
2.切换到分支 ETMSV1.0Beta22
, 修改其中 RecepitTransServiceImpl.java
文件 exportReport
方法,添加注释
public RecepitTransExcelDto exportReport(ReportManageConditionDto condition,
int userId, String userName,
String privilegeType, String language) throws TException {
//ETMSV1.0Beta22
3.提交分支 ETMSV1.0Beta22
4.切换到 master
5.合并,从 ETMSV1.0Beta22
6.此时主分支的 RecepitTransServiceImpl.java
文件 exportReport
方法也已经变化
public RecepitTransExcelDto exportReport(ReportManageConditionDto condition,
int userId, String userName,
String privilegeType, String language) throws TException {
//ETMSV1.0Beta22
7.推送合并后的主分支到服务器
代码冲突解决
1.主分支的服务器现有 RecepitTransServiceImpl.java
文件 exportReport
方法
public RecepitTransExcelDto exportReport(ReportManageConditionDto condition,
int userId, String userName,
String privilegeType, String language) throws TException {
//ETMSV1.0Beta22 Server
2.主分支的本地 RecepitTransServiceImpl.java
文件 exportReport
方法
public RecepitTransExcelDto exportReport(ReportManageConditionDto condition,
int userId, String userName,
String privilegeType, String language) throws TException {
//ETMSV1.0Beta22 Local
3.提交本地代码到服务器,提示需要合并
选择合并
解决冲突
4.完成后提到到服务器即可。
error: Your local changes to the following files would be overwritten by merge:
问题描述
我想把分支 dev
合并到 dev-financing
分支 dev
目录结构为
etms-base-common
etms-base-contract
etms-base-service
etms-base-web
分支 dev-financing
目录结构为
etms-base-common
etms-base-contract
etms-base-service
etms-base-web
etms-financing-common
etms-financing-contract
etms-financing-service
etms-financing-web
按道理会合并共同部分的内容,但是报了一个下面的错误
git.exe merge remotes/origin/dev
error: Your local changes to the following files would be overwritten by merge:
etms-financing-service/etms-financing-service.iml
很奇怪啊 dev
分支并没有文件 etms-financing-service/etms-financing-service.iml
解决办法,找到 etms-financing-service/etms-financing-service.iml
文件-右键
-删除并添加有忽略列表
再次合并,合并成功
合并分支-使用 IDEA
接上一个问题
我想把分支 dev
合并到 dev-financing
分支 dev
目录结构为
etms-base-common
etms-base-contract
etms-base-service
etms-base-web
分支 dev-financing
目录结构为
etms-base-common
etms-base-contract
etms-base-service
etms-base-web
etms-financing-common
etms-financing-contract
etms-financing-service
etms-financing-web
我当前在 dev-financing
分支,本地并没有 dev
分支的内容。
使用 tortoisegit
,合并 dev
分支到 dev-financing
分支,提示合并成功,但是实际上并没有进行合并。
原因是我本地没有拉取 dev
的代码。
下面使用 IDEA 进行合并。
方法一
● 拉取 dev-financing
分支
● 拉取 dev
分支
拉取后自动合并,解决冲突,合并完成,提交推送即可。
方法二
● 确保 dev
,dev-financing
分支的内容都已经推送
● 切换到 dev-financing
分支
● 选择 dev
分支,将已选择合并到当前中
自动合并,解决冲突,合并完成,提交推送即可。