Visual Studio Git本地Repos和GitHub远程Repos互操作

近期准备将一个项目开源到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

1. 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
2. 假设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

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

以上,分享给大家。

周国庆

2019/3/17

原文地址:https://www.cnblogs.com/tianqing/p/10545294.html

时间: 2024-08-01 00:46:21

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

创建git本地仓库和GitHub远程仓库并配置连接的从无到有

一:初始化本地仓库 选择一个工程目录终端打开 git init 初始化本地仓库 如果没有设置过邮箱和姓名还需要设置邮箱姓名,保持与GitHub一致 git config --global user.email "邮箱" git config --global user.name "姓名" git add . git commit 在这之后才可以git branch 或者 git checkout命令 二:配置SSH 生成ssh ssh-keygen -t rsa -

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

打开Visual Studio,新建项目,右下角勾选,如下图: 点击‘OK’后,出现下图窗口,选择'Git' : 如果是现有项目可以在‘文件’菜单下找到‘Add to Source Control’ ,如下图: 全局配置. 打开团队资源管理器-首页-Setting 红框部分也可设置为本地的一个路径(默认). 设置完成后,登录Github网站,新建Repository. 配置Repository信息 创建完成后,在页面找到如下链接,复制项目地址 把项目同步到刚刚新建的Repository中.在解决

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

1.利用命令创建github远程代码仓库 在将本地代码push到github远程代码仓库之前,总是需要新建github代码仓库,在将本地仓库关联到github远程仓库.其中最为繁琐的操作是建立github代码仓库,需要进入github的网站进行操作,不能借助命令来简化操作,十分繁琐. 借助github提供的api,在.bashrc或者.zshrc文件中定义函数,可以利用命令在github上创建代码仓库,十分便捷. 首先需要进入github,申请并获取自己的api token,用于鉴权,地址在这.

使用Git将本地仓库与GitHub远程仓库相关联

这篇文章详细讲解了如何生成SSH,并链接到GitHub,123..... 1.如果你的GitHub里面没有仓库,就自己生成一个,如图所示 2.如果你有自己仓库,想在电脑本地新建一个,你需要将GitHub的仓库地址复制下来,注意使用的是ssh,如图所示, 3.在电脑本地新建一个文件夹,将我们的远程仓库clone下来, 我是在d盘,test文件夹下面,直接右击选择git bash here [email protected] MINGW32 /d/test 输入下面的命令 $ git clone [

Mac Android studio提交本地项目到Github 已经配置 SSH KEY

注册账号 https://github.com 在本地配置ssh key秘钥 配置好之后这里需要它 开始本地配置ssh key,首先查看本地电脑是否有配置过ssh,进入终端 敲入$ defaults write com.apple.finder AppleShowAllFiles -bool true ( 显示隐藏文件(需要重新运行Finder),因为.ssh是隐藏文件). 在桌面菜单在查看是否有这个文件 .ssh 的隐藏文件,有的话个人建议删除. 现在开始在本地配置ssh key mkdir

git 本地创建分支和远程分支关联

本地切换并创建新分支 git checkout -b 'doclever_201909' 拉取远程分支 git pull 报错 here is no tracking information for the current branch. 根据提示输入 git branch --set-upstream-to=origin/doclever_201909 doclever_201909 继续 git pull 成功 原文地址:https://blog.51cto.com/13496570/243

git本地项目推到远程仓库

一.创建仓库 1.创建material项目仓库,如下:选中一个类型,点击+号 2.输入仓库信息,如下图红色选中的是仓库的信息: 点击创建按钮,就可以完成仓库的创建,如下图所示: 二.将项目推到Git仓库 1.将项目变成一个Git项目 在idea中创建一个material项目,我这里是创建好了写了一些功能. 然后先将项目变成git项目,步骤: VCS——Import into Version Control——Create Git Repository 在弹出的窗口中选择你的本地项: 这样项目已经

Visual Studio 2017 本地调试 Chrome浏览器自动退出

在使用VS 2017(15..6 .15.7)对.NET Core MVC应用程序进行本地调试的时候,选择使用Chrome浏览器.但输入中文 就自动关闭Chrome浏览器,随后结束调试.但复制.粘贴中文则不会自动退出.其它浏览器如 搜狗.Microsfot Edge.IE.FireFox,输入中文则不会自动退出. 解决办法:在VS中,工具>选项>项目和解决方案> Web项目",取消选中"浏览器窗口关闭时停止调试器". 原文地址:https://www.cnb

git 本地项目推到远程仓库

-or create a new repository on the command line echo "# blog" >> README.mdgit initgit add README.mdgit commit -m "first commit"git remote add origin [email protected]:piremartin/blog.gitgit push -u origin master -or push an exist