近期准备将一个项目开源到GitHub中,N-Sharding,.Net版本的分库分表数据访问框架。中间遇到了点小问题,整理了一下。

1. GitHub上Create New Repos

2. 代码Check In到本地Git Repos

3. Push到GitHub远程Repos

一、GitHub上Create New Repos:N-Sharding

2. 代码Check In到本地Git Repos 

3. Push到GitHub远程Repos

推送提示一下错误:

将分支推送到远程存储库时遇到错误: rejected Updates were rejected because the tip of your current branch is behind its remote counterpart. Integrate the remote changes  before pushing again.
Error: failed to push some refs to 'https://github.com/*****/N-Sharding.git'
Error: hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

看中间第三句话:Updates were rejected because the tip of your current branch is behind

说明本地分支是旧的,远程Master分支要新。为什么呢?

突然想起来,在GitHub上Create New Repos时,增加了Readme.md。本地没有这个文件。

一顿百度后:https://www.cnblogs.com/gzdaijie/p/5186516.html

解决方案:

1. 打开Git Bash

2. Git拉取最新的代码到本地,一定要rebase,强制同步更新本地分支

git pull --rebase origin master

关于Git rebase,可以参考:https://git-scm.com/docs/git-rebase

3. 推送Push到Master主分支

git push -u origin master

Push 成功,代码成功提交到master。

Tips:关于git merge 与 git rebase

. git merge 和 git rebase 都是将远程分支与本地分支合并的一种方法,git merge 会生成一个新的节点,例如A和B都位于同一个HEAD,A提交了2个commit C1和C2,B 提交了2个commit C3和C4,git merge的结果是在C3和C4之后合并生成C5,这样提交历史比较清晰,但多了一个C5
. 假设A已经将C1和C2 push到了远程分支,那么B 使用git rebase则会将C3和C4缓存到.git/rebase中,恢复到之前的状态,更新C1和C2,然后再将C3和C4作为补丁应用到C2的状态上。结果如下:
原始状态->C1->C2->C3'->C4',C3'和C4'为git 根据C3和C4生成的补丁,log是一条直线,而且没有多余的C5,但是平行信息丢失。

关于git pull 与 git pull --rebase

. git pull = git fetch + git merge
. git pull --rebase = git fetch + git rebase

以上,分享给大家。

周国庆

2019/3/17

Visual Studio Git本地Repos和GitHub远程Repos互操作的更多相关文章

  1. Git - Git本地仓库与GitHub远程仓库关联

    前言 Git本地仓库与GitHub仓库的关联逻辑如下 创建Key 在本地仓库下,新建Key文件夹,然后打开Key文件夹,单击鼠标右键,选择Git Bash Here. 输入命令:ssh-keygen ...

  2. git本地仓库与github远程仓库链接协议问题

    前提条件:有github账号,本地安装了git,能上网. 环境:ubuntu14.0.4LTS 首先在你得在github上创建一个仓库new repository,然后再本地创建一个文件夹mkdir ...

  3. Git本地仓库与Github远程仓库关联

    如果你已经在本地创建了一个Git仓库,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,那就需要用到SSH Key,github拿到了你的公钥就会知道内容是你推送的. SSH Key ...

  4. git本地项目连接私人远程仓库以及遇到的问题

    一.引言 1.最开始的时候,我本地项目连接的是github远程仓库,现在要转到公司的私人远程仓库. 2.我和大家说两个事: (1)本地项目连接github远程仓库, (2)本地项目连接私人远程仓库, ...

  5. Visual Studio 2019 使用 Web Deploy 发布远程站点到IIS服务器

    Visual Studio 2019 使用 Web Deploy 发布远程站点到IIS服务器的方式 在开发完项目之后,我们需要把开发的项目发布到指定的服务器上,有两种方式,如下 1.把项目发布成文件系 ...

  6. Git操作_从github远程仓库克隆到本地仓库, 本地代码提交

    实现目的: 从github远程仓库克隆到本地仓库:本地代码提交到远程仓库. 一.从github远程仓库克隆到本地仓库: 命令行切换到指定的仓库想存放的目录,执行如下命令:git clone  远程仓库 ...

  7. 在Visual Studio 2015 Preview 中使用Github 版本控制

    打开Visual Studio,新建项目,右下角勾选,如下图: 点击‘OK’后,出现下图窗口,选择'Git' : 如果是现有项目可以在‘文件’菜单下找到‘Add to Source Control’ ...

  8. 使用命令创建github代码仓库,push本地仓库到github远程代码仓库

    1.利用命令创建github远程代码仓库 在将本地代码push到github远程代码仓库之前,总是需要新建github代码仓库,在将本地仓库关联到github远程仓库.其中最为繁琐的操作是建立gith ...

  9. git本地项目上传远程

    Git的安装就不说了. 原文:https://blog.csdn.net/zamamiro/article/details/70172900 github官网说明: …or create a new ...

随机推荐

  1. Flex核心属性整理

    main axis和cross axis的位置不一定是水平和垂直的,以flex-direction的值即为主轴方向 justify-content:主轴对齐方式 space-between:将多余空间 ...

  2. hadoop2集群环境搭建

    在查询了很多资料以后,发现国内外没有一篇关于hadoop2集群环境搭建的详细步骤的文章. 所以,我想把我知道的分享给大家,方便大家交流. 以下是本文的大纲: 1. 在windows7 下面安装虚拟机2 ...

  3. vue 安装及使用

    一,  vue.js 2.0 1, cnpm install vue-cli -g 全局安装 2, 运行vue查看安装是否成功(创建vue-cli目录: vue init webpack demo) ...

  4. SpringBoot微服务架构下的MVC模型总结

    SpringBoot微服务架构下的MVC模型产生的原因: 微服务概念改变着软件开发领域,传统的开源框架结构开发,由于其繁琐的配置流程 , 复杂的设置行为,为项目的开发增加了繁重的工作量,微服务致力于解 ...

  5. 2018-2019-2 20165311《网络对抗技术》Exp5 MSF基础应用

    <网络对抗技术>Exp5 MSF基础应用 实验目的 实验内容 一个主动攻击实践(ms08_067) 一个针对浏览器的攻击(ms11_050) 一个针对客户端的攻击(adobe_toolbu ...

  6. Install VirtualBox Guest Additions for elementary os

    Pls refer to: Install VirtualBox Guest Additions for elementary os

  7. centos7 openfiles问题

    集群环境有几台新增的机器,尝试修改open files的时候,按照平常的操作就是修改/etc/security/limits.conf和/etc/security/limits.d/90-nproc. ...

  8. PHP编译报错

    //usr/lib64/liblber-2.4.so.2: error adding symbols: DSO missing from command line collect2: error: l ...

  9. 实验八 Web基础 SQL注入原理

    实验八 Web基础 实验要求 (1)Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. (2)Web前端javascipt ...

  10. APICloud开发者进阶之路 | txLive模块(直播类)试用分享

    本文出自APICloud官方论坛,感谢论坛版主uoaccw的分享 txLive 模块封装了腾讯云直播服务 https://docs.apicloud.com/Client-API/Open-SDK/t ...