
# 提交更改
当用户的项目与源代码管理（SCM）系统关联时，CodeArts IDE会跟踪项目文件的所有更改。左侧导航栏中的**"源代码管理"** 按钮显示当前存储库中的文件更改数量。**"源代码管理"** 视图详细列出了当前存储库的更改，分为**"合并更改"** 、**"暂存的更改"** 和**"更改"**三个部分。如下图所示：
图1更改分组   
![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002377677073.png "点击放大")
- 合并更改：显示在合并分支过程中产生的修改，可能包含解决冲突后的文件。
- 暂存的更改：显示已经用git add命令添加到暂存区的文件。
- 更改：显示工作目录中所有未暂存的修改，包括新增、修改或删除的文件。
![](https://support.huaweicloud.com/usermanual-codeartside/public_sys-resources/note_3.0-zh-cn.png)
对于未暂存的更改，右侧的编辑器仍允许用户编辑文件。
#### 获取更改
当存储库连接到远程，并且检出分支与远程的分支有[上游链接](https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches)时，CodeArts IDE允许获取更改。
从远程获取更改可以显示本地存储库相对于远程存储库的超前或落后情况。这些更改不会自动合并到本地工作树中。CodeArts IDE支持自动定期获取，此功能默认禁用，但用户可以通过git.autofetch设置启用它。手动获取远程更改的方法如下：
1. 在**"源代码管理"** 视图中，展开**"源代码管理存储库"**部分。
2. 单击要获取更改的存储库旁边的**"更多操作"** 按钮（![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002343959014.png)），然后选择**"抓取"** 。如下图所示：
   
   图2抓取菜单   
   ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002377836997.png "点击放大")
   
   
3. 如果配置了多个远程，可以通过选择**"拉取，推送 \> 从所有远程存储库中拉取"** 来从所有远程获取更改。如下图所示：
   
   图3远程仓库列表   
   ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002343799226.png "点击放大")
   
   
 
#### 拉取更改
运行拉取命令时，CodeArts IDE会从远程存储库获取更改并将其集成到本地工作树中。
1. 在**"源代码管理"** 视图中，展开**"源代码管理"**部分。
2. 单击要将更改拉取到的存储库旁边的**"更多操作"** 按钮（![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002377677077.png)），然后执行以下操作之一：
   - 要将更改从远程跟踪分支拉取到当前本地分支，请选择**"拉取"** ，或按**"Ctrl+T"** （IDEA快捷键方案）。如下图所示：
     图4拉取菜单   
     ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002343959018.png "点击放大") 
   
   - 要拉取更改并同时将本地未推送的更改rebase到已拉取的更改上，请选择**"拉取，推送 \> 拉取（变基）"** 。如下图所示：
     图5拉取变基菜单   
     ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002377837001.png "点击放大") 
   
   - 要从不同配置的远程存储库拉取更改，请选择**"拉取，推送 \> 拉取自"** 。然后在打开的弹出窗口中选择所需的远程存储库。如下图所示：
     图6拉取自菜单   
     ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002343799230.png "点击放大")
     图7远程存储库列表   
     ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002377677081.png "点击放大") 
    
 
#### 提交代码
通过提交代码操作将本地修改的代码提交到远程仓库，以便团队成员使用。
![](https://support.huaweicloud.com/usermanual-codeartside/public_sys-resources/note_3.0-zh-cn.png)
配置Git的用户名和电子邮件，可以通过以下任一操作：
- 全局配置 git config --global user.name "用户名"
  git config --global user.email "电子邮件"
  
- 项目配置 git config user.name "用户名"
  git config user.email "电子邮件"
  
- 不配置 每次在拉取或提交代码，都会让用户输入用户名、邮箱。
  
 
1. 通过将更改添加到暂存区来提交代码要执行如下操作，请在源代码控制视图的更改部分中执行以下操作之一。
   - 要暂存整个文件，执行以下任一操作。 单击**"暂存更改"** 按钮（![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002343959022.png)）。如下图所示：
     图8暂存更改操作   
     ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002377837013.png "点击放大")
     右键单击文件并选择**"暂存更改"**。如下图所示：
     图9暂存更改菜单   
     ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002343799238.png "点击放大") 
   
   
   
   - 要暂存文件的一部分，请单击文件以打开差异视图，该视图提供更改的概述。选择要暂存的更改，右键单击并选择**"暂存所选范围"** ，或先按下"Ctrl+K"再按下"Ctrl+Alt+S"快捷键触发。如下图所示：
     图10暂存更改范围菜单   
     ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002377677085.png "点击放大") 
    
2. 在**"源代码管理"** 视图中，在字段中输入提交消息，然后单击**"提交"** 按钮或按**"Ctrl+Enter"** 。如下图所示：
   图11输入提交信息"修改文件"   
   ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002343959026.png "点击放大") 
3. 如果要撤销提交，请单击**"更多操作"** 按钮（![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002377837017.png)）并选择**"撤销上次提交"** 。更改将重新添加到**"暂存的更改"** 部分。如下图所示：
   图12撤销上次提交菜单   
   ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002343799242.png "点击放大") 
 
#### 推送更改
在本地提交更改后，用户需要运行推送命令将其上传到远程存储库。
1. 在**"源代码管理"** 视图中，展开**"源代码管理"**部分。
2. 单击要推送更改的存储库旁边的**"更多操作"** 按钮（![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002377677093.png)），然后执行以下操作之一：
   - 要将更改从当前本地分支推送到远程跟踪分支，请选择**"推送"** 。如下图所示：
     图13推送菜单   
     ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002343959030.png "点击放大") 
   
   - 要将更改推送到不同配置的远程存储库，请选择**"拉取，推送 \> 推送到"** 。然后在打开的弹出窗口中选择所需的远程存储库。如下图所示：
     图14推送到菜单   
     ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002377837021.png "点击放大")
     图15远程存储库列表   
     ![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002343799246.png "点击放大") 
    
 
