记录下这几天使用 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的相关签名机制. 一.我们在开发接口时, ...
随机推荐
- linux下安装nginx及初步认识
linux下安装配置nginx nginx:是一个高性能的反向代理服务器正向代理代理的是客户端,反向代理代理的是服务端. 这里以nginx-1.12.2版本为例子 1.首先去官网下载nginx-1.1 ...
- 【转】运维DBA的4大纪律9项注意
朋友们调侃说,运维是个把脑袋别在裤腰带上的活,更有人说,运维是个把脑袋别在他人裤腰带上的活,苦劳没人认,有锅就有得背! 测试的同学说,“吃瓜群众很难感知运维背后的付出,倒是出了事情更能体现我们的专业性 ...
- idea导入java项目
https://blog.csdn.net/m0_37106742/article/details/70154244 ( 主要 )https://blog.csdn.net/u012099869/ar ...
- spring cloud Config--server
概述 使用Config Server,您可以在所有环境中管理应用程序的外部属性.客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spr ...
- fastJson常用方法总结
1.了解json json就是一串字符串 只不过元素会使用特定的符号标注. {} 双括号表示对象 [] 中括号表示数组 "" 双引号内是属性或值 : 冒号表示后者是前者的值(这个值 ...
- 论文阅读笔记十八:ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation(CVPR2016)
论文源址:https://arxiv.org/abs/1606.02147 tensorflow github: https://github.com/kwotsin/TensorFlow-ENet ...
- javaScript中的querySelector()与querySelectorAll()的区别
之前,在JavaScript获取文档元素一文中,我曾介绍了获取文档元素的几种方法,最后一种方法是通过选择器获取文档元素.它的核心思想便是利用querySelector()或querySelectorA ...
- nodejs 环境安装
参考网站 http://www.runoob.com/nodejs/nodejs-http-server.html https://github.com/nodesource/distribution ...
- C#通讯录——Windows Form Contact List
C#通讯录 Windows Form Contact List 主窗口 using System; using System.Collections.Generic; using System.Com ...
- Linux网络编程目录
基本TCP套接字编程 1. 套接字API 简单的回射服务器 TCP:IO多路复用 1. 函数select.poll 2.函数epoll