记录下这几天使用 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的相关签名机制. 一.我们在开发接口时, ...
随机推荐
- centos7安装laravel
一. 安装前准备1. 安装screenyum install screen 2. 安装wgetyum install wget 3. 更新yumyum update 4. 安装额外资源库yum ins ...
- 闭包&装饰器
闭包 1.函数引用 def test(): print('--test--') # 调用函数 test() # 引用函数 ret = test print(id(ret)) print(id(test ...
- eclipse创建动态maven项目
需求表均同springmvc案例 此处只是使用maven 注意,以下所有需要建立在你的eclipse等已经集成配置好了maven了,说白了就是新建项目的时候已经可以找到maven了 没有的话需要安装m ...
- selenium+python-文件下载(SendKeys)
前言 文件下载时候会弹出一个下载选项框,这个弹框是定位不到的,有些元素注定定位不到也没关系,就当没有鼠标,我们可以通过键盘的快捷键完成操作. SendKeys库是专业的处理键盘事件的,所以这里需要用S ...
- 论文阅读笔记十七:RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation(CVPR2017)
论文源址:https://arxiv.org/abs/1611.06612 tensorflow代码:https://github.com/eragonruan/refinenet-image-seg ...
- C. cltt的幸运数LCAdfs
/*C: cltt的幸运数 Time Limit: 1 s Memory Limit: 128 MB Submit Problem Description 一棵树有n个节点,共m次查询,查询 ...
- 20165206 2017-2018-2 《Java程序设计》第五周学习总结
20165206 2017-2018-2 <Java程序设计>第五周学习总结 教材学习内容总结 内部类:支持在一个类中定义另一个类的类. 外嵌类:包含内部类的类,称为内部类的外嵌类. 匿名 ...
- 删除Apache服务的命令
转到\Apache24\bin目录下,使用cmd命令sc delete apache2.2
- (原创)C# 压缩解压那些事儿
吐槽: 搜狗推广API的报告服务太坑爹了!!! 搜狗推广API的报告服务太坑爹了!!! 搜狗推广API的报告服务太坑爹了!!! 搜狗的太垃圾了,获取下来的压缩包使用正常方式无法解压!!没有专门的API ...
- mysql的下载与安装
官网 下载 https://www.mysql.com/ 依次点击:downloads>community>mysql community server,如图所示 image.png ...