[Ting's笔记Day3]解决Git常见错误non-fast-forward问题
写文章最难的部分,是找题材!
所以最近每次遇到bug或错误都挺兴奋开心(zflwx)的,因为又可以写笔记了
也可以记录新手学习之路上遇到的常见问题,提供其他新手参考。
最近学Udemy平台Ruby学习在线课程,我在本机练习做了一个Ruby on Rails项目(名称定为:yelpdemo),
我先用subl .叫出Sublime编写项目内的网页,做一点修改后,
再用Terminal按照我自己Day2笔记所说的Git步骤试着同步此项目到Github的同名repository储存库。
前情提要:我再Github的repo是上周设定好的,所以自己有点忘记当初发生什么事~导致接下来的问题
Step1.首先git status
看看目前working directory中所有档案的情形,红色代表这些档案需要被追踪:
Step2.git add .
把以上所有档案交给Git,再输入一次git status,绿色代表已更改为被追踪:
Step3 git commit
git commit -m“first commit”,备注-m里写上“执行第一个提交指令commit”,将staged档案储存到储存库:
然后再输入一次git status:
好了,到这边都挺顺的~
Step4.设定好要加入的路径git remote add origin
git remote add origin https://github.com/(你的帐号)/(你的项目名称):
设定远端origin的repository路径,然后再推送:
git push -u origin master
-u是update的意思,用了参数-u之后,未来就能直接使用不带参数的git pull从以前push过的分支来pull。
如果你没有先git remote add origin就直接git push
就会像我一开始一样,出现了'找不到储存库'的问题喔!
Step5.git push -u origin master
[灯等!]更新被拒绝了,因为上周我在Remote建的的repo里面,有些更动过的档案版本,本地端并没有:
[解决]提示告诉我可以先用git pull,
然后再git push一次:
重点在于最后一行:git push预设会推送「本地分支」到相同文件名的「远端分支」
When push.default is set to 'matching',git will push local branchesto the remote branches that already exist with the same name.
[灯等!]问题再度出现:The current branch master has no upstream branch,表示当前分支主机没有上游分支:
[解决]按照提示,依样画葫芦地git push --set-upstream origin master
[灯等!]新的问题产生,提示说我的master是non-fast forward
这个non-fast forward的意思是本机commit和远端的不相同,本地和远端的Repository发生文件冲突问题(线图有分岔)。
由于上周在远端创建的文件夹内容文件发生改变,因此不允许我把本地的文件覆盖上去。
关于合并local端和remote端,近一步了解可以看git官网,或是连猴子都能懂的Git入门指南解释
在push之前,我需要
git fetch
git merge
将远端的改变用merge合并到本地上。
或是我可以用git push -f强制覆盖本地文件替代git储存库的内容。
Google关键字在stackoverflow找到的解法是
git push -f origin <branch>。
-f代表force:强制推送。如果不想把远端分支的更动合并(merge)到本地分支,则可以使用这个指令。但要小心使用。
[解决]
回到github站上检查,终于同步完成(leafor):
===
后记:
这是写给自己提升记忆的笔记。相信之后如果在本机再建立其他新项目、远端建立储存库并使用gite功能,可能还是会遇到以上类似的问题,身为自学git新新手,我没有直接发问求救,而是靠google增加观念、进而找到解答,因此还蛮开心的!
看了数据,有些工程师的建议是少用git pull,以git fetch和git merge代替。也许以后实作之后有类似的经验和心得,再写点相关的文章。
[Ting's笔记Day3]解决Git常见错误non-fast-forward问题的更多相关文章
- git常见错误及解决方案总结
git常见错误及解决方案总结 使用git在本地创建一个项目的过程 $ makdir ~/hello-world //创建一个项目hello- ...
- Git - 常见错误与解决方案
1.windows使用git时出现:warning: LF will be replaced by CRLF 分析: windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行 ...
- mzy git学习,禁用Fast forward的普通合并(六)
git merge --no-ff -m "msg" x-branch:禁用Fast forward的普通合并 通常,合并分支时,如果可能,Git会用Fast forward模式, ...
- Git分支(2/5) -- Fast Forward 合并
快捷操作: 切换并创建分支: git checkout -b 分支名. git checkout -b some-change 然后我打开某个文件(index.html)修改一下标题. Commit之 ...
- Git 常见错误 之 error:error: src refspec main does not match any/ error: failed to push some refs to 简单解决
错误产生的原因:Github 工程默认名为了 main 由于受到"Black Lives Matter"运动的影响,GitHub 从今年 10 月 1 日起,在该平台上创建的所有新 ...
- git常见错误
一.如果输: $ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fat ...
- (转)git常见错误
如果输入$ Git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote ...
- 【Git】Git常见错误
错误1.fatal: refusing to merge unrelated histories 致命的:拒绝合并不相关的历史 原因:比如我本地分支是V1.0,我现在想要合并远程master分支上的内 ...
- Git常见错误处理
如果输入$ Git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remo ...
随机推荐
- go延时队列
package main import ( "errors" "flag" "fmt" log "github.com/cihub ...
- Dubbo的全局Filter配置
前言: 之前也写过dubbo的filter的文章, 后来和同事也有过交流, 才发生自己对dubbo的filter的机制, 还是存在一些误解, 尤其是自定义filter的定位, 不是那么清晰. 本文主要 ...
- python学习之路05
控制流语句 博主认为所有的语言中,控制语句都是差不多的,无非就是循环,判断,if ,while,for.更重要的是,多加的练习,实战中发现自身问题,加深巩固 所以,下面会以实际的题目为主. 1.用户在 ...
- 初识vue小结
初识vue 大家都那么热爱他一定有原因,我也特想了解. 我来咯, 首先用vue开发版,用一个标签在head中插入,script标签src属性引入vue文件,就像jquey一样在script,但是放在h ...
- java中int和String之间的转换
String 转为int int i = Integer.parseInt([String]); int i = Integer.valueOf(my_str).intValue(); int转为St ...
- exe4j使用说明
1:首先下载exe4j,软件根据电脑的版本下载(32bit or 64bit,本人的电脑是64bit),我下载的是没显示电脑版本的exe4j,有本地导入的选项和联网下载的选项,安装jre后才能进入-图 ...
- Dynamics CRM Plug-in
Plug-in 就是我们俗称的dll file 或者是assembly file. 里面有自定义的代码可以运行在服务器端 Plug-in Pipeline: 只有3个阶段可以做改动: Pre-Vali ...
- 记账本NABCD分析
学生记账本NABCD分析 N(Need,需求) 随着我们进入大学开始逐步的扩大自己的消费水平,而我们每天无法准确的记住一笔一笔的消费记录.常常,每一个月末时我们在宿舍楼道听到不少学生抱怨这个月怎么花钱 ...
- 让所有浏览器支持HTML5 video视频标签
HTML5究竟需要多少种视频编码格式 当前,video 元素支持三种视频格式:Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件MPEG4 = 带有 H.264 视频编 ...
- https://api.highcharts.com/gantt/
<a href="https://api.highcharts.com/gantt/">https://api.highcharts.com/gantt/</a& ...