Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

1. 应用场景

场景一:

你有一个开源的项目,你希望托管到多个开源代码托管平台。比如github和gitee(github在中国大陆部分地区会非常卡,有时也会被禁止访问,所以你可能希望加一个中国大陆能畅通访问的平台)。

场景二:

你公司有一个对外的项目,希望能开源出去。公司会有自己的代码仓库托管平台(比如gitlab等),开源的项目也需要放到github上。所以你需要将代码更新同时推送到公司内部平台(假设是gitlab)和github。

2. 单个代码托管平台时

单个代码托管平台的场景很简单,可以自行搜索,这里不在详述。

查看关联的远端仓库:

1
2
3
4
5
6
7
8
# 指令
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上创建一个项目

  1. 注册github账号
  2. 配置SSH key,可以参考 http://sunlogging.com/2024/06/14/dev_tool/git_config_2/
  3. 创建一个项目, 可以创建一个新的项目(建议项目名称保持一致),也可以从gitee导入项目到github上(github支持从其他平台导入项目)。
  4. 获取项目的clone地址,ssh类型的地址。如 git@github.com:spencer-luo/common_util.git

3.2. 添加远端仓库关联

1
2
3
4
5
6
7
8
# 指令
git remote add <name> <url>
# name:远程仓库名,可以自定义名称
# url:远程仓库地址

# 举例
# 添加github远端仓库关联
git remote add github git@github.com:spencer-luo/common_util.git

3.3. 查看关联的远端仓库

  1. 命令查看
1
2
3
4
5
6
7
8
9
10
# 指令
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)
  1. 配置文件查看

添加的远端仓库关联,保存在项目目录下的.git/config文件中。

1
cat .git/config 

.git/config配置

3.4. 推送和拉取代码

  1. 推送代码
1
2
3
4
5
6
7
# 切到develop分支
git checkout develop
# 提交到gitee
git push origin develop
# 提交到github
git push github develop

  1. 拉取代码
1
2
3
4
# 切到master分支
git checkout master
# 拉去gitcode上的master分支的代码到本地
git pull github master
  1. 推送标签
1
2
3
4
5
6
# 创建标签
git tag v1.0.1
# 推送标签到 gitee
git push origin v1.0.1
# 推送标签到 github
git push github v1.0.1
推荐阅读
博客建站7 - hexo博客独立服务器如何自动部署? 博客建站7 - hexo博客独立服务器如何自动部署? git配置2-不同的代码托管平台配置不同的ssh key git配置2-不同的代码托管平台配置不同的ssh key git配置1-不同的项目使用不同用户名或邮箱 git配置1-不同的项目使用不同用户名或邮箱

评论