github怎么切换到gitee_git同步源码到gitee和github

本文介绍了如何将源码同步到gitee和github远程仓库,包括通过命令行进行同步、修改配置文件以及处理同步过程中的各种错误和冲突。详细步骤包括删除和添加远程仓库、提交和推送代码、解决git推送错误、合并冲突等。
摘要由CSDN通过智能技术生成

如何把我们的源码同步到gitee或github远程仓库中

同步方式分以下几种:

1、命令同步

先查看下我们是否有远程仓库:git remote -v

如有就要删除远程仓库或是同命令覆盖,如全新安装就不需要!

删除已关联的名为origin的远程库:git remote rm origin

关联GitHub的远程库: git remote add github git@github.com:xxx/xxx.git

关联Gitee的远程库:git remote add gitee git@gitee.com:xxx/xxx.git

2、配置修改

修改.git文件夹内的config文件:

[core]

repositoryformatversion= 0filemode= truebare= falselogallrefupdates= true[remote"git"]

url= git@github.com:chloneda/demo.git

fetch= +refs/heads/*:refs/remotes/github/*

[branch "master"]

remote = origin

merge = refs/heads/master

将上述文件内容[remote "origin"]内容复制,修改origin名称

3、同步流程

上传热媒

git add . (将变更提交至缓存区)

git commit-m "提交说明(注释)" - update可以输入你需要上传的描述

提交命令

# 提交到github

git push github master '- 将本地变更推送至远程仓库master分支'

#

提交到gitee

git push gitee master '- 将本地变更推送至远程仓库master分支'

查看状态

git status

更放心代码

# 从github拉取更新

git pull github

# 从gitee拉取更新

git pull gitee

项目推送时遇Git推送错误:

error: failed to push some refs to ‘git@gitee.com:name/project.git’

1、分析:

这个问题的产生是因为远程仓库与本地仓库并不一致所造成。

2、解决方案:

那么我们把远程库同步到本地库就可以了。

执行命令:

git pull --rebase origin master

将远程仓库中的更新合并到本地仓库,–rebase的作用是取消掉本地仓库中刚刚的commit

然而未果,出现错误:

error: src refspec master does not match any

分析:引起该错误的原因是,目录中没有文件,空目录不能提交。

依次执行:

git pull origin master

git push origin master

踩到的坑

上述过程中,更新或提交代码时可能会遇到fatal:refusing to merge unrelated histories (拒绝合并无关的历史) 错误,解决办法:

首先将远程仓库和本地仓库关联起来。

git branch --set-upstream-to=origin/remote_branch your_branch

其中,origin/remote_branch是你本地分支对应的远程分支,your_branch是你当前的本地分支。

然后使用git pull整合远程仓库和本地仓库。

git pull --allow-unrelated-histories (忽略版本不同造成的影响)

重新更新、提交即可。

注: 如遇到 Git没有共同祖先的两个分支合并 的情形请自行查询!

报错处理

git pull 的时候报如下错误代码:

error: Pulling is not possible because you have unmerged files.

尝试用git stash没有作用。

Pull is not possible because you have unmerged files.

本地的push和merge会形成MERGE-HEAD(FETCH-HEAD), HEAD(PUSH-HEAD)这样的引用。HEAD代表本地最近成功push后形成的引用。MERGE-HEAD表示成功pull后形成的引用。可以通过MERGE-HEAD或者HEAD来实现类型与svn revet的效果。

解决:

1.将本地的冲突文件冲掉,不仅需要reset到MERGE-HEAD或者HEAD,还需要–hard。没有后面的hard,不会冲掉本地工作区。只会冲掉stage区。

git reset –hard FETCH_HEAD

2.git pull就会成功。

如我们现在在dev分支上,刚开发完项目,执行了下列命令:

git add .

git commit-m '提交的备注信息'git push-u origin dev

想将dev分支合并到master分支,操作如下:

1、首先切换到master分支上

git checkout master

2、如果是多人开发的话 需要把远程master上的代码pull下来

git pull origin master//如果是自己一个开发就没有必要了,为了保险期间还是pull

3、然后我们把dev分支的代码合并到master上

git merge dev

4、然后查看状态及执行提交命令

git status

On branch master

Your branch is ahead of'origin/master' by 12commits.

(use"git push"to publish your local commits)

nothing to commit, working tree clean

5其他命令

更新远程分支列表

git remote update origin--prune

查看所有分支

git branch-a

删除远程分支Chapater6

git push origin--delete Chapater6

删除本地分支 Chapater6

git branch-d Chapater6

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值