
# 在Eclipse提交代码并创建合并请求
如果用户本地的Eclipse安装了EGit，可以把本地Git代码仓库代码提交到远程CodeArts Repo，CodeArts Repo当前仅支持Eclipse4.4及以上版本。
- 如果是首次提交：
  1. 在本地计算机建立一个仓库，称本地仓库。
  
  2. 在本地进行**Commit**，将更新提交到本地仓库。
  
  3. 将服务器端的更新拉取到本地仓库进行合并，最后将合并好的本地仓库推送到服务器端，即进行一次远程提交。
   
- 如果非首次提交：
  1. 将修改的代码**Commit**更新到本地仓库。
  
  2. 将服务器端的更新拉取到本地仓库进行合并，最后将合并好的本地仓库推送到服务器端。
   
#### 步骤一：在Eclipse上安装EGit插件
执行如下步骤，安装Eclipse的4.4版本：
在Eclipse上方工具栏选择"Help \> Install New Software..."，弹出的"Install"窗口中，单击"Add..."，"Name"栏填写"EGit"，"Location"栏填写[EGit插件地址](https://download.eclipse.org/egit/updates)，单击"OK"按钮，随后连续单击"Next \>"默认安装，安装完成后重启Eclipse。
#### 步骤二：在Eclipse中配置EGit
1. 在Eclipse上方工具栏选择"Window \> Preferences \> Team \> Git \> Configuration"，填写"User Settings"信息。 ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002216156036.png "点击放大")
   
2. 单击"OK"，如下图所示。 "user.email"为已绑定的邮箱。在这里配置"user.name"即可。
   ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002251275669.png "点击放大")
   
 
#### 步骤三：新建项目，并将代码提交到本地的Git仓库中
1. 新建项目"git_demo"，并新建"HelloWorld.java"类，如下图所示。 ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002216315804.png "点击放大")
   
2. 将"git_demo"项目提交到本地仓库，如下图所示。 ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002251275661.png "点击放大")
   
3. 在弹出的"Share Project"窗口中，选中"Git"，如下图所示。 ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002251275697.png "点击放大")
   
4. 单击"Next \>"，弹出"Configure Git Repository"，勾选"Use or create repository in parent folder of project"，单击"Create Repository"。
5. 单击"Create Repository"，成功创建Git仓库。 文件夹此时处于"untracked"状态（文件夹中以符号"?"表示）。
   此时需要提交代码到本地仓库，如下图所示开始提交。
   ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002216315820.png "点击放大")
   
6. 弹出"Commit Changes"窗口，设置提交信息，如下图所示。 ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002531272657.png "点击放大")
   
7. 单击"Commit"，代码提交到本地仓库，如下图所示。 ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002216315832.png)
   
 
#### 步骤四：将本地仓库代码提交到远程的Git仓库中
1. 在代码托管服务中[创建仓库](https://support.huaweicloud.com/usermanual-codeartsrepo/codeartsrepo_03_0013.html)。
   创建好远程仓库后，进入远程代码仓库详情页面，可以复制远程仓库地址。
   
2. 选择Push菜单，开始将代码提交到远程仓库，如下图所示。 ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002216315824.png "点击放大")
   
   
3. 在弹出的"Push to Another Repository"窗口中，设置相应参数，如下图所示。 ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002251195777.png "点击放大")
   
   
4. 单击"Next"，弹出"Push Ref Specifications"，如下图所示。 ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002216156016.png "点击放大")
   
   
5. 单击"Add Spec"，成功添加，如下图所示。 ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002251275693.png "点击放大")
   
   
6. 单击"Next"，弹出"Push Confirmation"窗口，如下图所示。 ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002251275685.png "点击放大")
   
7. 单击"Finish"提交本地代码，如下图所示。 ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002216156000.png "点击放大")
   
8. 单击"OK"，完成代码提交远程仓库。 登录远程仓库地址，核对提交的代码。
   
 
#### 步骤五：在CodeArts Repo新建合并请求
进入要新建合并请求的代码仓库首页，选择"合并请求" \> "新建"，选择要发起合并请求的源分支和目标分支。在"新建合并请求"页面的下方可以看到两条分支的文件差异对比详情、要合并分支的提交记录信息，用户可勾选"是否使用临时分支"，如果勾选，那用户将使用新生成的临时分支提交合并请求。如果用户要配置合并请求的变更主题，请参考[配置变更主题](https://support.huaweicloud.com/usermanual-codeartsrepo/codeartsrepo_03_0010.html#codeartsrepo_03_0010__section0323191215596)。
![](https://support.huaweicloud.com/usermanual-codeartsrepo/public_sys-resources/caution_3.0-zh-cn.png)
- 如果用户的仓库是"所有访客只读"，当用户新建或者修改合并请求"标题"时，且标题内容包含违规词汇，新建或者修改合并请求标题将失败，并在右上角报错提示"合并请求标题存在违反法律法规的内容，请修改后重新提交。"
- 如果用户的仓库是"所有访客只读"，当用户的"描述"包含违规词汇或者图片，会审核不通过，在合并请求标题右侧将显示**标题或描述内容审核不通过，请及时修改，否则合并请求仅项目内成员可见。**并且此合并请求将不对其他成员展示，修改并合规后，将正常展示此合并请求信息。
- 如果用户的仓库是"所有访客只读"，当用户的"评审意见"包含敏感词汇或者图片，将会在评价所在行显示"审核不通过"。
 
#### 相关文档
在Eclipse使用HTTPS方式连接CodeArts Repo的代码仓库时，提示"Transport Error: cannot get remote repository refs. XXX.git: cannot open git-upload-pack"，这是由于Eclipse中Egit插件的配置问题。解决方案：在Eclipse中，右键选择"Windows \> Preferences \> Team \> Git \> Configuration \> User Settings"。单击"Add Entry"，"Key"填写内容"http.sslVerify"，"Value"填写内容"false"。
