git同步源码到gitee和github
如何把我们的源码同步到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 = 0
filemode = true
bare = false
logallrefupdates = 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 12 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
//上面的意思就是你有12个commit,需要push到远程master上
> 最后执行下面提交命令
git push origin master
- 5其他命令
更新远程分支列表
git remote update origin --prune 查看所有分支
git branch -a 删除远程分支Chapater6
git push origin --delete Chapater6 删除本地分支 Chapater6
git branch -d Chapater6
git同步源码到gitee和github的更多相关文章
- CM12同步源码及编译教程
同时提供基于安卓5.0的MKL魔趣猪扒饭编译教程~[玩机组出品]魔趣猪扒饭MKL50.1编译教程http://www.oneplusbbs.com/forum.php?mod=viewthread&a ...
- [Issue]repo/repo init-解决同步源码Cannot get http://gerrit.googlesource.com/git-repo/clone.bundle
1. 前两天想搭建freescale L3.0.35_4.1.0_BSP包,结果LTIB环境搭建好,也编译出rootfs/uboot/kernel的Image了,但是准备移植uboot的时候发现ubo ...
- 如何使用git 发布源码到CodePlex
github 是分布式源码管理系统 codeplex 是微软的开源社区 将git中源码分享到codeplex社区其实很方便,按照如下步骤: 1:注册codeplex 帐号或使用微软的已有的帐号 2:下 ...
- 使用GIT进行源码管理 —— 在VisualStudio中使用GIT
GIT作为源码管理的方式现在是越来越流行了,在VisualStudio 2012中,就通过插件的现实对GIT进行了官方支持,并且这个插件在VS2013中已经转正.本文在这里简单的介绍一下如何在Visu ...
- 在Xcode中使用Git进行源码版本控制
http://www.cocoachina.com/ios/20140524/8536.html 资讯 论坛 代码 工具 招聘 CVP 外快 博客new 登录| 注册 iOS开发 Swift Ap ...
- repo/repo init-解决同步源码Cannot get http://gerrit.googlesource.com/git-repo/clone.bundle
以下转自:http://www.cnblogs.com/dinphy/p/5669384.html 问题: fatal: Cannot get https://gerrit.googlesource. ...
- Soul 网关 Nacos 数据同步源码解析
学习目标: 学习Soul 网关 Nacos 数据同步源码解析 学习内容: 环境配置 Soul 网关 Nacos 数据同步基本概念 源码分析 学习时间:2020年1月28号 早7点 学习产出: 环境配置 ...
- Python 一键拉取Git分支源码自动解析并执行SQL语句
基于Python实现自动拉取Git分支源码自动解析并执行SQL语句 by:授客 QQ:1033553122 1.代码用途 开发过程中,研发人员会提交SQL更新脚本到Git源码库,然后测试负责去拉取这些 ...
- 使用GIT进行源码管理 —— VisualStudio官方GIT教程
我之前在文章使用GIT进行源码管理 —— 在VisualStudio中使用GIT中简单的介绍了一下如何使用VS中自带的Git工具,今天发现MSDN上现在也有了非常完整的教程,感兴趣的朋友可以看一下: ...
随机推荐
- _1_html_框架
创:18_3_2017修:20_3_2017 什么是html? --超文本标记语言 --告诉浏览器内容的语义 html页面的框架是什么? <!DOCTYPE html> <!--DT ...
- python3的基础数据类型
看了很多文档,想自己整理一下关于python的数据类型.说干就干,下面接上. 首先,了解 常量与变量. 常量是什么?常量是指在整个程序操作过程中其值保持不变的数据: 变量是什么?变量即在程序运行过程中 ...
- c++ 中预编译头文件名 pch.h
转载:https://www.it-swarm.asia/zh/c++/%e6%88%91%e5%8f%af%e4%bb%a5%e4%bd%bf%e7%94%a8includepchh%e2%80%9 ...
- Thinkphp中D方法和M方法的区别
两者共同点都是实例化模型的,而两者不同点呢?一起来看一下: $User = D('User');括号中的参数User,对应的模型类文件的 \Home\Model\UserModel.class.php ...
- thinkphp5 chunk 分块处理数据小坑
场景: 使用chunk方法进行分块查询写入数据,执行发现chunk分几条一次处理 数据库就插入几条,并没有return false; 代码如下 解决方法: 增加排序字段
- id+is+深浅co'p'y
day06 一.id.is 关键字:id #唯一的,如果id相同,说明2个变量指向同一个地址,就是变量一==变量二 注意:id相同值一定相同,值相同但是id不一定相同(不同代码块的值相同,他们就像太阳 ...
- 实验二 C2C实践
实验二 C2C实践 [实验目的] 掌握网上购物的基本流程和C2C平台的运营 [实验条件] ⑴.个人计算机一台 ⑵.计算机通过局域网形式接入互联网. (3).奥派电子商务应用软件 [知识准备] 本实验 ...
- Markdown语法及使用方法完整手册
欢迎使用 Markdown在线编辑器 MdEditor Markdown是一种轻量级的「标记语言」 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容 ...
- 题解:HDU 6598
题解:HDU 6598 Description Now, Bob is playing an interesting game in which he is a general of a harmon ...
- MeteoInfoLab脚本示例:MERRA HDF数据
MERRA是NOAA的一种再分析资料,HDF数据遵循COARDS协议,读取比较简单.脚本程序: #Add data file folder = 'D:/Temp/hdf/' fns = 'MERRA3 ...