- 1. 应用场景
- 2. 单个代码托管平台时
- 3. 多个代码托管平台时
- 3.1. 在github上创建一个项目
- 3.2. 添加远端仓库关联
- 3.3. 查看关联的远端仓库
- 3.4. 推送代码到github
1. 应用场景
场景一:
你有一个开源的项目,你希望托管到多个开源代码托管平台。比如github和gitee(github在中国大陆部分地区会非常卡,有时也会被禁止访问,所以你可能希望加一个中国大陆能畅通访问的平台)。
场景二:
你公司有一个对外的项目,希望能开源出去。公司会有自己的代码仓库托管平台(比如gitlab等),开源的项目也需要放到github上。所以你需要将代码更新同时推送到公司内部平台(假设是gitlab)和github。
2. 单个代码托管平台时
单个代码托管平台的场景很简单,可以自行搜索,这里不在详述。
查看关联的远端仓库:
# 指令
git remote -v
# 示例
# 关联一个远端仓库时
➜ common_util git:(master) ✗ git remote -v
origin git@gitee.com:spencer_luo/common_util.git (fetch)
origin git@gitee.com:spencer_luo/common_util.git (push)
3. 多个代码托管平台时
前提条件:
我当前的项目(common_util)是托管在gitee上的,现在需要将项目同时托管到github上。
3.1. 在github上创建一个项目
- 注册github账号
- 配置SSH key,可以参考 http://sunlogging.com/2024/06/14/dev_tool/git_config_2/
- 创建一个项目, 可以创建一个新的项目(建议项目名称保持一致),也可以从gitee导入项目到github上(github支持从其他平台导入项目)。
- 获取项目的clone地址,ssh类型的地址。如
git@github.com:spencer-luo/common_util.git
。
3.2. 添加远端仓库关联
# 指令
git remote add <name> <url>
# name:远程仓库名,可以自定义名称
# url:远程仓库地址
# 举例
# 添加github远端仓库关联
git remote add github git@github.com:spencer-luo/common_util.git
3.3. 查看关联的远端仓库
- 命令查看
# 指令
git remote -v
# 示例
# 关联两个远端仓库时:(git remote -v)
➜ common_util git:(master) git remote -v
github git@github.com:spencer-luo/common_util.git (fetch)
github git@github.com:spencer-luo/common_util.git (push)
origin git@gitee.com:spencer_luo/common_util.git (fetch)
origin git@gitee.com:spencer_luo/common_util.git (push)
- 配置文件查看
添加的远端仓库关联,保存在项目目录下的.git/config
文件中。
cat .git/config
3.4. 推送代码到github
- 推送代码
# 切到develop分支
gco develop
# 提交到gitee
git push origin develop
# 提交到github
git push github develop
- 推送标签
# 创建标签
git tag v1.0.1
# 推送标签到 gitee
git push origin v1.0.1
# 推送标签到 github
git push github v1.0.1