记录下这几天使用 GitHub 碰到的问题
1、在 GitHub 上为新项目创建一个库时,默认是不使能主页功能的
如果你想要使用 GitHub 的主页功能做一个博客或一份简历,需要人为设置一下。如下图:
制作简历,这里有一份更详细的参考:如何在Github Pages搭建自己写的页面?
2、GitHub 对文件路径大小写敏感
我的简历中用到的一张图片保存格式是“PNG”,代码里的url中写成了小写的“png”。在本地验证的时候,图片是正常显示的,但是合入到 GitHub 上就无法显示了。修改成统一的之后,问题就解决了。
3、幽灵记录
假设这样一个场景:将一个目录初始化为仓库,然后将开发一半的文件放进来,通过 git 进行管理。在将某个文件 git rm 之后(注意,还没有 git commit),你突然发现对 git 还不太熟,担心通过命令操作不保险,不如先手动备份一份,然后就将这个目录复制到了其他地方。又进行了一些列操作之后,你想把这个初始化为仓库的目录下的内容全部干掉,重新来。于是,你在目录下进行 rm、commit、push,你以为彻底删除了。然后你把之前手动备份过的文件拷贝回来。但是,这时通过 git status 查看,发现仍有未 git commit 的文件,就像幽灵一样。
这里插一条 Git 知识点:将本地某个目录 init 为仓库时,该目录下就会生成 .git 目录(在 windows 系统下“.”开头的文件或文件夹都是默认隐藏的),它里面存储着管理当前目录内容所需的仓库数据,比如提交记录等等。
所以,回到上面场景中提到的问题,这其实是 .git 目录在作怪。你把手动备份的目录重新拷贝回来之后,也将之前的 .git 目录拷贝了回来。手动备份之前,对文件进行了 git rm,但是没有 git commit。所以.git目录就保存了到git rm那一步的记录。后面拷贝回来,git status 就会出现有文件“Changes not staged for commit”,这其实都是之前的记录。
在这点上,SVN 也是一样的工作原理,通过一个 .SVN 来保存提交记录。
4、克隆远程仓库
1)将远程仓库clone到本地不需要对提前当前目录初始化就能 clone,默认会在当前目录生成一个文件名和远程仓库分支一样的文件夹。这个文件夹中有一个“.git”文件夹。
2)如果克隆提示远程仓库 does not exist,在确认 GitHub 已有这个分支后,检查命令中的路径拼写是否有误。我之前犯过一次错误,使用 ssh 地址,结果把:打成了/,所以一直克隆失败。
5、Pull Request 流程
他人的项目(在他人的GitHub账号下的库中)-------【Fork(GitHub上操作)】------>自己的GitHub账户下,创建了一个相同的库-------【clone】------>复制到自己的本地-------【checkout -b】------>创建一个特性分支用于修改代码,并切换到该分支-------【修改、添加代码】------>确认修改无误-------【push】------>创建远程分支-------【登录GitHub,并切换至特性分支】------>Send Pull Request
记录下这几天使用 GitHub 碰到的问题的更多相关文章
- 使用Windows下的git工具往github上传代码 踩坑记录
使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...
- 记录下UIButton的图文妙用和子控件的优先显示
UIButton的用处特别多,这里只记录下把按钮应用在图文显示的场景,和需要把图片作为按钮的背景图片显示场景: 另外记录下在父控件的子控件优先显示方法(控件置于最前面和置于最后面). 先上效果图: 1 ...
- 随便记录下系列 - node->express
随便记录下系列 - node->express 文章用啥写?VsCode. 代码用啥写?VsCode. 编辑器下载:VsCode 一.windows下安装node.js环境: 下载地址 相比以前 ...
- 记录下ECharts的一些功能
用到ECharts记录下一些功能免得以后找文档找不到. 这个博客对ECharts讲解很全面 http://www.stepday.com/my.stepday/?echarts // 使用 requi ...
- C#值类型以及默认值记录下
C#的值类型有bool,byte,sbyte,decimal,double,float,int,uint,long,string等 如果我们擅长使用默认值,可以帮助我们减少带来赋值及代码编写. 比如我 ...
- 记录下mybatis中#{}和${}传参的区别
最近在用mybatis,之前用过ibatis,总体来说差不多,不过还是遇到了不少问题,再次记录下, 比如说用#{},和 ${}传参的区别, 使用#传入参数是,sql语句解析是会加上"&quo ...
- 记录下url拼接的多条件筛选js
本着为提高工作效率百度或者google这些代码发现拿过来的都不好用,然后自己写了个,写的一般但记录下以后再优化 <html> <head> <script> $(f ...
- Windows下用Composer引入官方GitHub扩展包
Windows下用Composer引入官方GitHub扩展包 1. 当你打开威武RC4版本的链接的时候,往下拉你可以看到这个,然后你要做的就是想到,百度Composer,看看是个什么鬼,别想太多,跟着 ...
- 记录下Webapi签名机制
首先,写这篇文章的原因是因为最近某一个项目中的接口被人为调用了,导致了数据库数据被串改.虽然是内部人无意点的,但还是引起了我的担忧,所有整理了下关于Webapi的相关签名机制. 一.我们在开发接口时, ...
随机推荐
- python并发编程之进程池,线程池,协程
需要注意一下不能无限的开进程,不能无限的开线程最常用的就是开进程池,开线程池.其中回调函数非常重要回调函数其实可以作为一种编程思想,谁好了谁就去掉 只要你用并发,就会有锁的问题,但是你不能一直去自己加 ...
- jsp 监听器
Servlet API提供了一系列的事件和事件监听接口. 上层的servlet/JSP应用能够通过调用这些API进行事件 驱动的开发.这里监听的所有事件都继承自 java.util.Event对象.监 ...
- python selenium-webdriver 生成测试报告
测试最后的一个重要的过程就是生成一份完整的测试报告,生成测试报告的主要是通过python的一个第三方模块HTMLTestRunner.py生成,但是生成的测试报告不是特别的美观,而且没有办法统计测试结 ...
- Python函数之递归函数
递归函数的定义:在这个函数里再调用这个函数本身 最大递归深度默认是997或者998,python从内存角度做的限制 优点:代码变简单 缺点:占内存 一:推导年龄 问a的值是多少: a 比 b 小2,b ...
- 编写UEditor插件
UE.registerUI('beijing', function (editor, uiName) { // 注册按钮执行时的command命令 editor.registerCommand(uiN ...
- 免费API接口
网址:https://code.juhe.cn/ http://apistore.baidu.com/ http://blog.csdn.net/cc20032706/article/details/ ...
- webpack学习笔记--按需加载
为什么需要按需加载 随着互联网的发展,一个网页需要承载的功能越来越多. 对于采用单页应用作为前端架构的网站来说,会面临着一个网页需要加载的代码量很大的问题,因为许多功能都集中的做到了一个 HTML 里 ...
- 解决Python安装模块出错 ImportError: No module named setuptools
1.下载ez_setup.py文件 下载地址:https://bootstrap.pypa.io/ez_setup.py 百度地址:http://pan.baidu.com/s/1jIgMO9w 2. ...
- java运算符-逻辑、三元运算符
1.逻辑运算符 逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值true或false. 运算符 运算规则 范例 结果 & 与 false&true False | 或 fa ...
- python全栈开发day73-Django认证系统
一.Form组件 day73 2018-08-10 1. 内容回顾 1. form表单组件 1. 常用字段 1. CharField() 2. ChoiceField() 2. 参数或配置 1. la ...