You need to enable JavaScript to run this app.
文档中心
大数据研发治理套件

大数据研发治理套件

复制全文
下载 pdf
Git 集成
WebIDE Git 操作
复制全文
下载 pdf
WebIDE Git 操作

本文介绍 DataLeap New IDE WebIDE 中的 Git 版本控制操作,包括仓库绑定、分支管理、文件暂存、提交、推拉同步及冲突解决等完整工作流。

概述

New IDE 的 WebIDE 基于 VS Code Web 版本构建,Git 操作能力由沙箱环境内运行的 VS Code Server 及其内置 Git 扩展(vscode.git)提供。用户在 WebIDE 中获得的 Git 体验与桌面版 VS Code 一致——源代码管理面板、分支切换、提交历史、冲突解决等功能开箱即用。
核心架构:

  • WebIDE 前端通过 WebSocket 与沙箱内的 VS Code Server 通信。
  • Git 操作在沙箱内本地执行(git 命令行),性能接近桌面版。
  • 文件变更事件通过操作系统级 inotify 机制实时推送至前端。

前置条件

沙箱环境

Git 操作依赖个人开发环境(Sandbox)的启动。当用户首次进行 Git 相关操作时,系统会按"项目 + 用户"维度自动启动或复用沙箱实例。

Git 凭据配置

沙箱环境会自动挂载用户的 Git 凭据,支持以下方式:

凭据类型

挂载位置

说明

SSH 密钥

~/.ssh/id_rsa

用于 SSH 协议的仓库访问。

Git Token

~/.git-credentials

用于 HTTPS 协议的仓库访问。

Git 配置

~/.gitconfig

用户名、邮箱等全局配置。

说明

凭据通过 Secret 安全挂载到沙箱内部,与其他用户严格隔离。

仓库绑定

Git 仓库绑定作用于用户的个人目录,便于隔离用户工作副本。

绑定入口

在 WebIDE 左侧文件树中,用户个人目录下可见 Repos/ 目录,用于存放绑定的 Git 仓库工作副本。
Image

绑定流程

  1. 在 WebIDE 中打开命令面板(Ctrl+Shift+P / Cmd+Shift+P)。
  2. 输入 Git: Clone 执行仓库克隆。
  3. 输入远程仓库 URL(SSH 或 HTTPS)。
  4. 选择 /Workspace/Users/<用户名>/Repos/ 作为克隆目标目录。
  5. 克隆完成后,VS Code 自动识别 .git 目录并激活 Git 功能。

目录结构

/Workspace/
├── Users/
│   └── user1/
│       ├── Repos/                # Git 仓库目录
│       │   ├── project-a/        # 仓库工作副本
│       │   │   ├── .git/
│       │   │   ├── src/
│       │   │   └── ...
│       │   └── project-b/
│       ├── notebooks/            # 普通文件目录
│       └── sql/
├── Shared/                       # 工作空间共享目录
└── ...

源代码管理面板

WebIDE 左侧活动栏中的 Source Control(源代码管理)图标打开 Git 操作面板,提供以下核心功能区域。

面板结构

区域

说明

Changes(更改)

显示工作区中已修改但未暂存的文件。

Staged Changes(已暂存的更改)

显示已通过 git add 暂存的文件。

Merge Changes(合并更改)

冲突状态下显示需要解决的文件。

Commit Message(提交消息)

输入本次提交的说明文字。

文件状态标记

标记

含义

对应 Git 状态

M

Modified(已修改)

文件内容变更

U

Untracked(未跟踪)

新文件,未纳入版本控制

D

Deleted(已删除)

文件被删除

R

Renamed(已重命名)

文件被重命名

C

Conflict(冲突)

合并冲突待解决

A

Added(已添加)

新文件已暂存

分支管理

查看当前分支

状态栏左下角始终显示当前所在分支名称,点击可快速切换分支。

切换分支

  1. 点击状态栏的分支名称。
  2. 在弹出的列表中选择目标分支。
  3. 或输入分支名搜索过滤。

等效命令:

git checkout <branch-name>

创建新分支

  1. 点击状态栏的分支名称。
  2. 选择 Create new branch...(创建新分支)。
  3. 输入新分支名称。
  4. 可选择从当前分支或指定分支创建。

等效命令:

git checkout -b <new-branch-name>

创建新分支并发布

  1. 创建新分支后,状态栏出现"发布分支"按钮
  2. 点击后将新分支推送到远程仓库

等效命令:

git push -u origin <new-branch-name>

文件暂存与提交

暂存文件

在 Source Control 面板中:

  • 暂存单个文件:将鼠标悬停在文件上,点击 + 图标。
  • 暂存全部文件:点击 Changes 标题栏右侧的 + 图标。
  • 取消暂存:在 Staged Changes 中点击文件旁的 - 图标。

等效命令:

git add <file>          # 暂存单个文件
git add .               # 暂存所有更改
git reset HEAD <file>   # 取消暂存

提交

  1. 在 Commit Message 输入框中编写提交消息。
  2. 点击 Commit(✓)按钮,或使用快捷键 Ctrl+Enter / Cmd+Enter,提交暂存的更改。

等效命令:

git commit -m "提交消息"

提交选项

通过 Source Control 面板的 ... 菜单可使用更多提交选项:

操作

说明

等效命令

Commit All

暂存所有更改并提交

git add . && git commit -m "..."

Commit Staged

仅提交已暂存的文件

git commit -m "..."

Undo Last Commit

撤销上一次提交(保留更改)

git reset --soft HEAD~1

Amend Last Commit

修改上一次提交

git commit --amend

推送与拉取

推送(Push)

将本地提交推送到远程仓库:

  1. 提交完成后,状态栏显示待推送的提交数。
  2. 点击状态栏的同步按钮(↑),或使用命令面板执行 Git: Push

等效命令:

git push origin <branch-name>

拉取(Pull)

从远程仓库获取并合并最新更改:

  1. 点击状态栏的同步按钮(↓),或使用命令面板执行 Git: Pull

等效命令:

git pull origin <branch-name>

同步(Sync)

同时执行拉取和推送,状态栏的循环箭头按钮一键完成。

获取(Fetch)

仅下载远程仓库的最新信息,不自动合并:

git fetch origin

差异对比

查看文件变更

在 Source Control 面板中点击任意修改的文件,WebIDE 将打开 Diff Editor(差异编辑器),左右分栏显示:

  • 左侧:变更前(HEAD 版本)
  • 右侧:当前工作区版本

Inline Diff 模式

通过编辑器右上角的切换按钮,可在 Side-by-Side(并排)和 Inline(内联)两种对比模式间切换。

对比任意版本

通过命令面板执行 Git: Open Changes 可对比当前文件与任意历史提交的差异。

冲突解决

当 Pull 或 Merge 操作产生冲突时,WebIDE 提供可视化的冲突解决工具。

冲突标记

冲突文件中会出现标准的 Git 冲突标记:

<<<<<<< HEAD
当前分支的内容
=======
传入分支的内容
>>>>>>> feature-branch

可视化解决

WebIDE 在冲突区域上方提供快捷操作按钮:

按钮

操作

Accept Current Change

保留当前分支的内容。

Accept Incoming Change

采用传入分支的内容。

Accept Both Changes

同时保留两者。

Compare Changes

打开三方对比视图。

解决流程

  1. 打开冲突文件,选择处理方式(或手动编辑)。
  2. 解决所有冲突后,保存文件。
  3. 在 Source Control 面板中将已解决的文件暂存(点击 +)。
  4. 编写提交消息并提交,完成合并。

提交历史

查看历史

通过以下方式查看提交历史:

  • 命令面板执行 Git: View History
  • 在 Source Control 面板的 ... 菜单中选择 View History
  • 使用 Timeline 视图(编辑器底部面板)查看单个文件的修改历史

Timeline 视图

每个文件的 Timeline 面板按时间线展示该文件的所有历史版本,点击任意版本可查看当时的差异。

常用 Git 命令面板操作

通过 Ctrl+Shift+P / Cmd+Shift+P 打开命令面板,输入 Git: 前缀可访问所有 Git 命令:

命令

说明

Git: Clone

克隆远程仓库

Git: Init

初始化新仓库

Git: Checkout to...

切换分支

Git: Create Branch

创建新分支

Git: Delete Branch

删除本地分支

Git: Merge Branch

合并分支

Git: Rebase Branch

变基操作

Git: Pull

拉取远程更改

Git: Push

推送本地提交

Git: Fetch

获取远程信息

Git: Stash

储藏当前更改

Git: Pop Stash

恢复储藏的更改

Git: Discard Changes

丢弃工作区更改

Git: Add Remote

添加远程仓库

Git: Remove Remote

移除远程仓库

终端中的 Git 操作

WebIDE 集成了完整的终端(Terminal),可直接使用 git 命令行执行任何 Git 操作。

打开终端

  • 快捷键:Ctrl+`` / Cmd+``
  • 菜单:Terminal → New Terminal

常用场景

对于面板不直接支持的高级操作,可通过终端完成:

# 交互式变基
git rebase -i HEAD~3

# Cherry-pick 提交
git cherry-pick <commit-hash>

# 查看提交日志(图形化)
git log --oneline --graph --all

# 创建并切换到跟踪远程的本地分支
git checkout -b feature/xxx origin/feature/xxx

# 重置到指定提交
git reset --hard <commit-hash>

# 清理未跟踪文件
git clean -fd

# 查看远程仓库信息
git remote -v

# 设置上游分支
git branch --set-upstream-to=origin/<branch> <branch>

.gitignore 管理

WebIDE 完整支持 .gitignore 文件:

  • 被忽略的文件在文件树中显示为灰色。
  • Source Control 面板不会列出被忽略的文件。
  • 在文件上右键可选择 Add to .gitignore 快速添加忽略规则。

推荐的 .gitignore 配置

对于数据开发项目,建议忽略以下内容:

# 运行产物
*.pyc
__pycache__/
.ipynb_checkpoints/

# 临时文件
*.tmp
*.swp
.DS_Store

# 输出目录
output/
results/

# 环境配置(含敏感信息)
.env
credentials/

典型工作流

日常开发流程

1. 拉取最新代码          git pull
2. 创建功能分支          git checkout -b feature/xxx
3. 编辑文件              在 WebIDE 中编辑
4. 查看变更              Source Control 面板
5. 暂存更改              git add
6. 提交                  git commit
7. 推送到远程            git push
8. 发起 Merge Request    在 Git 平台操作

多人协作流程

1. Fetch 获取远程最新     git fetch
2. 查看远程分支变更
3. Pull 合并最新代码      git pull
4. 解决冲突(如有)       Diff Editor
5. 继续本地开发
6. Push 推送              git push

使用建议

建议

说明

频繁提交

每完成一个逻辑单元就提交,保持提交粒度合理。

有意义的提交消息

使用清晰的提交消息描述改动内容和原因。

拉取前先提交

Pull 前确保本地更改已提交或 Stash,避免冲突混乱。

善用分支

每个功能/修复使用独立分支,避免在主分支直接开发。

定期同步

定期从主分支拉取更新,减少后续合并冲突。

使用 .gitignore

避免将临时文件、运行产物、敏感信息纳入版本控制。

终端补充面板

面板不支持的复杂操作(rebase、cherry-pick)通过终端完成。

注意事项

事项

说明

沙箱生命周期

Git 操作依赖沙箱运行,沙箱超时回收后需重新启动。

凭据有效期

Git Token 有过期时间,过期后需重新配置。

大文件处理

避免将大型数据文件纳入 Git,推荐使用 Git LFS 或存放到共享存储。

网络连接

Push/Pull 操作需要沙箱能访问远程 Git 仓库。

个人目录隔离

Git 仓库绑定在个人目录下,其他用户无法直接访问你的工作副本。

最近更新时间:2026.06.12 11:44:15
这个页面对您有帮助吗?
有用
有用
无用
无用