本地库与github和gitee远程同步

本文详细介绍如何在Gitee和GitHub上创建项目,并实现项目在两个平台间的克隆、关联及推送。包括解决推送中可能遇到的错误,如拒绝更新及标签推送的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 在Gitee和GitHub上创建一个项目
账号为yuanbaonet,仓库名为baoaifront


2. 克隆项目到本地

//从gitee 获取
$ git clone https://gitee.com/yuanbaonet/baoaifront.git

//从github获取
$ git clone https://github.com/yuanbaonet/baoaifront.git

 

3. 自定义关联远程库
删除GIt默认远程库名称

//git默认远程库名称为origin
$ git remote rm origin

分别关联Gitee和GitHub并设置名称

//关联gitee并设置别名为gitee
$ git remote add gitee https://gitee.com/yuanbaonet/baoaifront.git

//关联github并设置别名为github
$ git remote add gitee https://github.com/yuanbaonet/baoaifront.git

 

4.推送到远程仓库

//推送到Gitee
$ git push gitee master
//推送到GitHub
$ git push github master


5.可能出现的错误
这里提示拒绝更新,提示先从远程pull再尝试

$ git push github master
 ! [rejected]        master -> master (fetch first)

解决方法
从github上pull

 $ git pull github master


如果有异常可以尝试:

git pull github master --allow-unrelated-histories

 

6. 推送到github远程仓库

 $ git push github master

//可能提示push失败这里可以尝试用强制push

$ git push github master -f
/*    
    由于是初始化项目,并从远程仓库pull,使用强制推送不会对项目造成影响
    一般不推荐强制push
*/


7. 推送标签(版本)到远程仓库

git push并不会把tag标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。

// 列出标签
$ git tag

// 搜索标签
$ git tag -l ‘v0.1.*’ # 搜索符合模式的标签

// push单个tag,命令格式为:git push gitee [tagname]
// 将本地 v2.0.0 的tag推送到远端服务器
$ git push gitee v2.0.0 

// push所有tag,命令格式为:git push [origin] --tags
git push gitee --tags
### GitHubGitee之间的项目同步或代码共享 为了实现在GitHubGitee之间高效且自动化地同步项目或共享代码,可以采用多种方法技术来简化这一过程。其中一种推荐的方法是利用GitHub Actions来进行自动化的操作。 #### 使用GitHub Actions实现自动化同步 GitHub Actions提供了一种强大的方式来创建自定义软件开发生命周期工作流[^1]。对于希望将GitHub上的更新自动复制到Gitee的情况,可以通过配置特定的动作(Actions),使得每当有新更改推送到GitHub时,这些改动也会被推送至Gitee仓库中。 具体来说: - 创建一个新的`.github/workflows`目录,并在此文件夹下建立一个YAML格式的工作流程文件。 ```yaml name: Sync to Gitee on: push: branches: - main jobs: sync-to-gitee: runs-on: ubuntu-latest steps: - name: Checkout code from GitHub uses: actions/checkout@v2 - name: Set up Git environment for Gitee run: | git config --global user.email "you@example.com" - name: Add remote repository of Gitee env: GITEE_TOKEN: ${{ secrets.GITEE_TOKEN }} run: | git remote add gitee https://${{ secrets.GITEE_USERNAME }}:${{ secrets.GITEE_TOKEN }}@gitee.com/${{ secrets.GITEE_REPOSITORY }} - name: Push changes to Gitee run: | git fetch origin git checkout main git push gitee main ``` 此脚本会在检测到main分支上有任何push事件发生时触发动作,它会检出最新的源代码并将其推送到指定的Gitee远程库中[^3]。 #### 手动设置双远端仓库 另一种较为基础的手动解决方案涉及直接管理git项目的多个远程地址。这允许开发者在同一时间向不同的服务器发送相同的提交记录。 执行以下命令可完成上述目标: ```bash # Clone your existing project or initialize a new one. cd path/to/repo # Add the second remote pointing towards Gitee. git remote add gitee https://gitee.com/user/repository.git # Verify remotes are set correctly. git remote -v ``` 之后,在每次准备推送变更之前,先拉取最新版本再分别推送给两处位置即可[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值