Skip to content

Git 平台服务

不同的 Git 托管平台各有特色,了解各平台的特点和技巧,能帮助你更高效地利用这些工具。

GitHub 功能与技巧

GitHub 是全球最大的代码托管平台,功能极其丰富。

核心功能

GitHub Actions(CI/CD):

  • 免费额度:公开仓库无限,私有仓库每月 2000 分钟
  • 生态丰富:GitHub Marketplace 有数千个 Actions

GitHub Copilot:

  • AI 代码补全(付费)
  • 支持多种编程语言和编辑器

GitHub Codespaces:

  • 云端开发环境(浏览器中的 VS Code)
  • 适合快速贡献代码,无需本地环境配置

实用技巧

URL 技巧:
github.com/user/repo                    仓库主页
github.com/user/repo/tree/main/src/    指定目录
github.com/user/repo/blob/main/file.md 查看特定文件
github.com/user/repo/commit/abc123     查看特定提交
github.com/user/repo/compare/v1.0.0...v1.1.0  比较版本

在文件查看页面按 . 键 → 打开 Web 版 VS Code

GitHub CLI(gh):

bash
# 安装
brew install gh

# 认证
gh auth login

# 常用命令
gh repo clone user/repo     # 克隆仓库
gh pr create               # 创建 PR
gh pr list                 # 查看 PR 列表
gh pr checkout 123          # 检出 PR
gh issue create            # 创建 Issue
gh issue list              # 查看 Issue
gh release create v1.0.0   # 创建 Release
gh workflow run ci.yml     # 手动触发 Workflow

GitHub 搜索技巧:

in:name         按仓库名搜索
in:description  按描述搜索
in:readme       按 README 内容搜索
stars:>1000     超过 1000 星
language:go     特定语言
size:<100       小于 100KB
pushed:>2026-01-01  最近有更新
user:username   特定用户的仓库
org:orgname     特定组织的仓库

GitLab 功能与技巧

GitLab 是功能最完整的 DevOps 平台,支持从代码到部署的全流程。

核心特色

自托管(GitLab CE/EE):

  • 可以在自己的服务器上部署
  • 适合有数据安全要求的企业

GitLab CI/CD:

  • 比 GitHub Actions 更早推出
  • 功能强大,配置灵活(.gitlab-ci.yml
  • 与 Kubernetes 集成完善

Merge Request(MR)特色:

  • 支持多种合并策略(Merge、Squash、Rebase)
  • 可以在 MR 中展示管道状态
  • 支持仅允许合并后删除源分支

GitLab 特有功能:

- Auto DevOps:自动检测语言,生成 CI/CD 配置
- Container Registry:内置容器镜像仓库
- Package Registry:npm、Maven、PyPI 等包仓库
- Wiki:内置 Wiki 系统
- Snippets:代码片段分享
- Web IDE:浏览器内编辑代码

实用技巧

yaml
# .gitlab-ci.yml 技巧

# 只在特定分支运行
test:
  script: npm test
  only:
    - main
    - merge_requests

# 缓存加速
cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - node_modules/

# 只有 main 合并时才部署
deploy:
  script: ./deploy.sh
  environment: production
  only:
    - main
  when: manual  # 需要手动触发

Bitbucket 功能与技巧

Bitbucket 是 Atlassian 旗下的 Git 平台,与 Jira、Confluence 等工具深度集成。

核心特色:

  • 私有仓库免费(5 人以下团队)
  • 与 Jira 深度集成(自动关联 Issue)
  • 支持 Mercurial 和 Git
  • 内置 Bamboo CI 集成

Jira 关联:

bash
# 提交信息中包含 Jira Issue 编号会自动关联
git commit -m "PROJ-123: 实现用户登录功能"
# 在 Bitbucket 中,提交会自动关联到 Jira Issue PROJ-123

自建 Git 服务(Gitea / GitLab CE)

Gitea

Gitea 是轻量级的自建 Git 服务:

bash
# Docker 部署
docker run -d \
  --name gitea \
  -p 3000:3000 \
  -p 22:22 \
  -v /data/gitea:/data \
  gitea/gitea:latest

特点:

  • 极轻量(单个二进制文件,内存占用小)
  • 类 GitHub 界面
  • 支持 Actions(兼容 GitHub Actions 语法)
  • 开源免费

GitLab CE(社区版)

适合对功能要求更高的团队:

bash
# Docker 部署
docker run -d \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 22:22 \
  --name gitlab \
  --restart always \
  --volume /srv/gitlab/config:/etc/gitlab \
  --volume /srv/gitlab/logs:/var/log/gitlab \
  --volume /srv/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

适合场景:

  • 有数据安全合规要求
  • 需要完整 CI/CD 功能
  • 团队规模较大

平台选择建议

场景推荐平台
开源项目GitHub(最大社区)
企业内部(云端)GitLab.com 或 GitHub Enterprise
企业自托管(完整功能)GitLab CE/EE
企业自托管(轻量)Gitea
Atlassian 工具链Bitbucket

总结

每个平台都有其优势:GitHub 生态最强,GitLab 功能最全,Bitbucket 与 Atlassian 集成最好,Gitea 最轻量。

选择平台时考虑:团队规模、数据安全要求、现有工具链集成、成本预算。对于大多数团队,GitHub 或 GitLab 是最常见的选择。