1.git远程仓库
1.1常用托管服务[远程仓库]
在软件开发的协作与版本控制流程中,远程仓库是核心基础设施,它承担着代码存储、团队共享、历史追溯和协同开发的关键作用。常用的远程仓库托管服务,根据其定位(公有 / 私有)、生态整合能力和目标用户群体,可分为以下几类,以下为你详细解析其核心特点、适用场景及关键功能:
GitHub:https://github.com
码云:https://gitee.com
| 服务名称 | 核心特点 | 适用场景 | 关键功能 |
|---|---|---|---|
| GitHub | 1. 全球最大的代码托管平台,开源生态最完善 2. 与主流开发工具(VS Code、Jenkins)深度整合 3. 内置 CI/CD 工具(GitHub Actions)、项目管理(Projects)、讨论区(Discussions) 4. 支持 Git LFS(大文件存储),适合包含设计图、数据集的项目 | 1. 个人开源项目展示与协作 2. 全球团队跨地域协作 3. 需要强 CI/CD 自动化的项目 4. 希望借助开源生态吸引贡献者的项目 | - 分支保护(防止误推主分支) - Pull Request(PR)代码审查 - Issue 跟踪(bug / 需求管理) - GitHub Pages(静态网站部署,如项目文档) |
| GitLab(SaaS 版) | 1. 开源内核(GitLab CE),支持公有托管与私有部署 2. 「一站式 DevOps 平台」:集成代码托管、CI/CD、容器 registry、监控、安全扫描 3. 对私有仓库的免费额度更友好(免费版支持 5 人以内私有项目) 4. 权限管理更精细(支持组、子组、项目级权限控制) | 1. 中小型团队的私有项目协作 2. 需要整合 DevOps 全流程的团队(无需额外搭建工具链) 3. 对数据隐私有一定要求,但不想自建服务器的团队 | - GitLab CI/CD(配置简单,支持多环境部署) - 内置容器 registry(存储 Docker 镜像) - 代码质量分析(SonarQube 集成) - 安全扫描(依赖漏洞检测、代码漏洞扫描) |
| Gitee(码云) | 1. 国内托管服务,访问速度快(无需科学上网) 2. 与 GitHub 功能相似,但更贴合国内开发者习惯(如支持微信登录、中文界面) 3. 提供「码云企业版」,支持私有部署和本地化服务 4. 与国内工具生态整合(如阿里云、腾讯云、华为云) | 1. 国内个人 / 团队的代码托管(避免网络延迟) 2. 对数据本地化有要求的企业(如国企、传统行业) 3. 需要对接国内云服务的项目 | - 码云 Pages(支持 Jekyll、Hexo) - 合并请求(MR)与代码审查 - 企业级权限管理(角色、部门隔离) - 本地化部署支持(私有服务器) |
1.2注册码云
码云:https://gitee.com
根据码云网址去创建一个码元账号
1.3创建远程仓库
创建好码云账号后 点击+号创建仓库

1.4配置SSH密钥
- 生成ssh公钥
- ssh-keygen -t rsa

- gitee设置账户公钥
- cat ~/.ssh/id_rsa.pub

- 在gitee设置中配置公钥

- 验证是否配置成功
- ssh -T git@gitee.com

1.5操作远程仓库
1.5.1添加远程仓库
命令:git remote add <远端名称> <仓库路径>
- 远端名称,默认为origin,取决于远端服务器设置
- 仓库路径,从远端服务器获取此URL
- 例如git remote add origin git@gitee.com:wangt100/gitee.git

1.5.2查看远程仓库
命令:git remote

1.5.3推送到远程仓库
- 命令:git push [-f] [--set-upstream] [远端名称【本地分支名】【:远端分支名】】
- 如果远程分支名与本地分支名称相同,则可以只写本地分支
- git push origin master
- --set-upstream推送到远端的同时并且建立起和远端分支的关联关系
- git push --set-upstream origin master
- 如果当前分支与远端分支关联 则可以省略分支名与远端名
- git push 将master分支推送到以关联的远端分支

1.5.4本地分支与远程分支的关联信息
- 查看关联关系我们可以使用git branch -vv命令

1.5.5从远程仓库克隆
- 命令:git clone <仓库路径> [本地目录]
- 本地目录可以省略,会自动生成与个目录

1.5.6从远程仓库抓取或者拉取
远程仓库和本地的分支一样,我们可以进行merge操作,只是需要先把远端仓库里的更新都下载到本地,在进行操作。
- 抓取命令:git fetch [remote name] [branch name]
- 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
- 如果不指定远端名称和分支名,则抓取所有并更新当前分支
- 拉取命令:git pull [remote name] [branch name]
- 拉取指令就是将远程仓库的修改拉到本地进行合并,等同于 fetch+merge
- 如果不指定远端名称和分支名,则抓取所有并更新当前分支
1.5.7解决合并冲突



8919

被折叠的 条评论
为什么被折叠?



