今天是第二天,争取不能断档。有时候一躺下可能真的就爬不起来了。
为什么我不能PUSH?
今天的学习是跟随廖雪峰的git教程学习的。但是学习到用本地的仓库去关联一个远程仓库的时候出现了一个问题。教程上的步骤总结起来大概是这样:
- 建立一个本地仓库
- Github上建立一个远程仓库(不带readme.md)
- git remote add origin git@github.com:your user_name/your re.git (这一步我理解为关联远程仓库)
- git push -u origin master(推送)
好一切准备就绪。但是我这个人有时候有点粗心或者说啥球不懂。我建立远程仓库的时候选择默认有readme.md。接下来导致一系列问题。
第一个问题
撸了一遍,卧槽,怎么回事,再撸一遍,卧槽还是这样?git push为何不行?
再看教程,知道原来是带上了readme.md。
突然才想起来,两个仓库版本不一样,根本就没有同步,怎么可能能推送,mdzz!那怎么办?接着上百度,看教程。突然看到 git pull我灵鸡一动!原来 git pull可以拉取下来远程库的版本到本地就好了。
接着撸代码
纳尼?!
不管了,先这样,虽然有什么警告,好像还好没有直接报错。
git push -u origin master
好吧,还是不能好好的push。
第二个问题
既然已经知道是版本不一致的问题,pull应该是可以处理的,但是,为什么没有像想象中的处理结果?
于是开始在小伙伴交流群里乱问,大神在民间。但是由于迫切想知道答案,又是趁着上班时间(原谅我的契约精神吧),所以格外慌乱,大神虽然没有说话(但是隔着屏幕我都能感觉到来自遥远的鄙视)。下面的话,才是我学到的今天学到的内容
问别人问题尽量问的专业,让别人知道你问的是什么,不然大家都挺忙的,何必互相浪费时间。
好,得到了几乎是指定的答案
git pull origin master
试着运行,果然都没有问题!
但是,仍然要问why?
感觉是分支出了问题,但是为什么从远程克隆仓库,本地push,本地仓库就能知道要合并的是哪个分支并且不会有问题?
带着这个问题,我又回到了之前的pull,仔细研究一下英文,真是后悔大一过了四级就碰都不碰了,导致我不知道这个警告信息传递过来的是什么。
查有道啊,自己意淫啊,然后我得出我的结论
上面告诉我,3个文件从我的帐号打包,但是,指针从master换到 origin master时,出了问题。
显示没有关于origin master的路径信息!
ps.英语不好是个大问题啊。
然后再百度,意外的得到了另外一些** 收获 **。
当然,没有看过教学视频,或许里面根本就有。
git config branch.master.remote origin
git config branch.master.merge refs/heads/maser
从远程clone,直接push应该会设置相应的属性。