写文章最难的部分,是找题材!

所以最近每次遇到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问题的更多相关文章

  1. git常见错误及解决方案总结

    git常见错误及解决方案总结 使用git在本地创建一个项目的过程  $ makdir ~/hello-world                              //创建一个项目hello- ...

  2. Git - 常见错误与解决方案

    1.windows使用git时出现:warning: LF will be replaced by CRLF 分析: windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行 ...

  3. mzy git学习,禁用Fast forward的普通合并(六)

    git merge --no-ff -m "msg" x-branch:禁用Fast forward的普通合并 通常,合并分支时,如果可能,Git会用Fast forward模式, ...

  4. Git分支(2/5) -- Fast Forward 合并

    快捷操作: 切换并创建分支: git checkout -b 分支名. git checkout -b some-change 然后我打开某个文件(index.html)修改一下标题. Commit之 ...

  5. 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 日起,在该平台上创建的所有新 ...

  6. git常见错误

    一.如果输: $ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git         提示出错信息:fat ...

  7. (转)git常见错误

    如果输入$ Git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote ...

  8. 【Git】Git常见错误

    错误1.fatal: refusing to merge unrelated histories 致命的:拒绝合并不相关的历史 原因:比如我本地分支是V1.0,我现在想要合并远程master分支上的内 ...

  9. Git常见错误处理

      如果输入$ Git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git  提示出错信息:fatal: remo ...

随机推荐

  1. Linux下,用命令进行 日志分割、日志合并

    指定文件大小分割: split -b 10m catalina.out imsoft 以每个文本文件10M方式分割日志 文件合并: cat small_file* > large_file

  2. Codeforces1076E. Vasya and a Tree(dfs+离线+动态维护前缀和)

    题目链接:传送门 题目: E. Vasya and a Tree time limit per test seconds memory limit per test megabytes input s ...

  3. 处理csv和json数据

    CSV是以逗号为分隔符,存储数据的文件. 流程:1.filename存储文件名.2.打开文件并存储在文件对象f中.3.将f传递给csv.reader()创建阅读器对象.4.next()获取第一行. e ...

  4. [ Codeforces Round #549 (Div. 2)][D. The Beatles][exgcd]

    https://codeforces.com/contest/1143/problem/D D. The Beatles time limit per test 1 second memory lim ...

  5. : LDAP & Implementation

    LDAP LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了并且可以根据需要 ...

  6. python, generator.next()和send()

    对于普通的生成器,第一个next调用,相当于启动生成器,会从生成器函数的第一行代码开始执行,直到第一次执行完yield语句(第4行)后,跳出生成器函数. 然后第二个next调用,进入生成器函数后,从y ...

  7. Docker进入容器后使用ifconfig等命令“command not found”解决办法

      当进入一个容器后,使用ifconfig.ip addr等命令时,出现如下“command not found”:       解决办法:   yum update yum -y install n ...

  8. CPU使用情况之平均负载

    需求场景:        新入职公司,需要监控方案,于是先把zabbix里有关OS模块的监控项全部列出来,并一个一个去研究具体的代表的意思:发现其他的都很容易理解,只要有关CPU监控的就难以理解.于是 ...

  9. 搭建自己的Docker registry(五)

    弄了一天,在网上查了很多资料,感觉都好复杂好复杂,一步一步踩坑踩出来就好了. 服务器:阿里云(香港) 环境:CentOS Linux release 7.4.1708 (Core) Docker:1. ...

  10. Excel函数之rank应用

    该函数的功能就是对现有数据指标进行排名 示例:对产品进行销售总额的排名 首先要知道排名需要用到rank函数 number参数就是你要进行排名的数据 ref参数就是该指标需要在哪个区域内进行比较定位排名 ...