在上传项目到github时,忘记忽略了某个文件夹.idea,就直接push上去了, 最后意识到了此问题,决定删除掉远程仓库中的.idea文件夹在github上只能删除仓库,却无法删除文件夹或文件, 所以只能通过命令来解决首先进入你的master文件夹下, Git Bash Here ,打开命令窗口$ git --help # 帮助命令 $ git pull origin master # 将远程仓库里面的项目拉下来 $ dir # 查看有哪些文件夹 $ git rm -r --cached .idea # 删除.idea文件夹 $ git commit -m '删除.idea' # 提交,添加操作说明 $ git push -u origin master # 将本次更改更新到github项目上去引用https://www.cnblogs.com/panchanggui/p/10855223.html
一、SSH连接原理在我们提交代码的时候， github需要用我们账号对应的公钥去解密我们提交的代码，如果能正确的解密说明当前提交代码的用户合法的。所以在提交代码事先我们的电脑中需要持有一个私钥我们的github账户中也有持有一个公钥。GitHub配置SSH Key的目的是为了帮助我们在通过git提交代码是，不需要繁琐的验证过程，简化操作流程。二、设置git的username和email初次安装 git 需要配置用户名和邮箱，否则git会提示：please tell me who you are.你需要运行命令来配置你的用户名和邮箱：git config --global user.name "username" git config --global user.email "email"三、配置 SSH Key 免密登录步骤1、检查是否存在SSH Key看是否存在 id_rsa 和 id_rsa.pub文件，如果存在，说明已经有SSH Keycd ~/.ssh ls2、生成SSH Key运行以下命令，然后一直按回车确认ssh-keygen -t rsa -C "email"3、获取SSH Keycat id_rsa.pub4、在 github 中新增SSH Key1.登录 GitHub 2.点击用户头像 3.Settings 4.SSHandGPG keys 5.New SHH Key 6.输入标题及公钥信息(上面复制 id_rsa.pub 文件内容)参考：https://blog.csdn.net/x550392236/article/details/123069751https://www.jb51.net/article/241929.htm
前言写博客时难免会有一些截图说明或者图片描述需要用到图床；一般的做法是上传的博客目录下，这样会使博客文件越来越臃肿且不便管理；又或是上传的到一些第三方图床，比如微博图床、七牛云、阿里云OSS、腾讯云COS等，这些第三方服务要么不稳定，要么需要收费，对于个人（qiongbi）来言并不友好。今天来就使用 GitHub+jsDelivr+PicGo 来搭建一款免费的个人博客图床。搭配 Typora 使用更香。由于 GitHub 访问速度慢，所以我们使用jsDelivr CDN加速访问（jsDelivr 是一个免费开源的 CDN 解决方案），PicGo工具一键上传，操作简单高效，GitHub和jsDelivr都是大厂，不用担心跑路问题，不用担心速度和容量问题，而且完全免费，可以说是目前免费图床的最佳解决方案！创建仓库登录/注册Github，新建一个仓库，此处命名为 PicLibrary ，注意选择 Public，私有仓库无法显示图片；生成 Token在主页依次选择【Settings】-【Developer settings】-【Personal access tokens】-【Generate new token】，填写好描述，勾选【repo】，然后点击【Generate token】生成一个Token，注意这个Token只会显示一次，自己先保存下来或等后面配置好 PicGo 后再关闭此网页。注意是主页的Settings，而非仓库的Settings。配置 PicGoPicGo: 一个用于快速上传图片并获取图片 URL 链接的工具下载地址：https://github.com/Molunerfinn/PicGo/releases设定仓库名：按照【用户名 / 图床仓库名】的格式填写设定分支名：【master】设定Token：粘贴之前生成的【Token】指定存储路径：填写想要储存的路径，如【blog/】，注意后面的斜杠。这样就会在仓库下创建一个名为 blog 的文件夹，图片将会储存在此文件夹中。设定自定义域名：它的作用是在图片上传后，PicGo会按照【自定义域名+储存路径+上传的图片名】的方式生成访问链接，放到粘贴板上，因为我们要使用 jsDelivr 加速访问，所以可以设置为【https://cdn.jsdelivr.net/gh/用户名/图床仓库名 】，上传完毕后，我们就可以通过【https://cdn.jsdelivr.net/gh/用户名/图床仓库名/图片路径】加速访问我们的图片了。配置好PicGo后，我们就可以进行高效创作了，将图片拖拽到上传区，将会自动上传并复制访问链接，将链接粘贴到博文中就行了，访问速度杠杠的，此外PicGo还有相册功能，可以对已上传的图片进行删除，修改链接等快捷操作，PicGo还可以生成不同格式的链接、支持批量上传、快捷键上传、自定义链接格式、上传前重命名等，更多功能自己去探索吧！测试使用 PicGo上传一张图片，然后去GitHub仓库查看，并访问图片链接。如：https://cdn.jsdelivr.net/gh/movieatravelove/PicLibrary/blog/cat.jpg搭配 Typora 使用安装 Typora 及 PicGo 最新版，依次点击 文件 -> 偏好设置 -> 图像，选择插入图片时为上传图片，并选择PicGo 的安装路径。使用时直接复制图片到 Typora 编辑器中，就会自动弹出上传界面；也可以在编辑完所有内容一次性上传，选择 格式 -> 图像 -> 上传所有本地图片。参考：https://blog.csdn.net/qq_36759224/article/details/98058240
快捷命令初始化：git init添加文件：git add <file name> 或 git add .提交文件: git commit -m '<remark>'推送到仓库：git push origin master拉取代码：git pull origin master克隆仓库代码：git clone <url>查看分支：git branch创建分支：git branch <name>切换分支：git checkout <name> 或 git switch <name>创建+切换分支：git checkout -b <name> 或 git switch -c <name>合并某分支到当前分支：git merge <name>删除分支：git branch -d <name>创建版本库初始化仓库git init把文件添加到版本库git add readme.txt #添加readme文件 git add . #添加所有文件把文件提交到仓库git commit -m "remark" #remark为提交说明查看提交记录git log 版本回退，上一个版本就是HEAD^，上上一个版本就是HEAD^^……git reset --hard HEAD^或指定某条记录，commitId 为提交id，使用 git log 查看git reset --hard commitId回退之后在查看git log 就看不到最新的版本了，不过只要上面的命令行窗口还没有被关掉，你就可以顺着往上找啊找啊，找到那条记录的commit id 就可以指定回到未来的某个版本。如果关掉了关掉了命令行窗口使用 git reflog 来查看你的每一次命令。远程仓库关联远程库git remote add origin xxx #xxx为远程仓库地址第一次推送git push -u origin master由于远程库是空的，我们第一次推送master分支时，加上了-u参数，Git不但会把本地的master分支内容推送的远程新的master分支，还会把本地的master分支和远程的master分支关联起来，在以后的推送或者拉取时就可以简化命令。后续推送git push origin master拉取git pull origin master克隆git clone xxxx #xxx为远程仓库地址分支管理创建分支创建dev分支并切换git checkout -b dev相当于以下两条命令，先创建，在切换git branch dev git checkout dev由于撤销修改使用的命令是 git checkout --<file>，同一个命令两种作用，难免有些迷惑。最新版本的 Git 提供了新的git switch命令来切换分支：创建并切换分支git switch -c dev直接切换分支git switch dev查看当前分支git branch合并分支在 dev 分支下修改了文件并commit，再切换到 master 分支，发现文件并没有改动，是因为提交在 dev 分支上，而当前分支 master 的提交点并没有改变，想要在 master 分支上看到 dev 修改的内容，就需要把 dev 分支合并到 master 分支。git merge devgit merge 命令用于合并指定分支到当前分支。合并后在查看文件发现和 dev 修改的内容一致。删除分支git branch -d dev
目前国内访问GitHub速度慢且不稳定，还可能被墙；所以使用 Gitee 来搭建个人博客，毕竟是国内的开源代码托管平台，相对来说更加稳定。安装 Hexo安装前提Node.js (Node.js 版本需不低于 8.10，建议使用 Node.js 10.0 及以上版本)Git安装 Hexo在本地新建一个文件夹，打开该目录下的命令行，安装hexo-cli：npm install hexo-cli -g //安装手脚架 hexo init blog //初始化一个hexo项目 cd blog //进入该项目文件夹 npm install //安装项目依赖 hexo server //本地服务器打开项目，查看博客npm server 以后，我们能看到hexo的默认界面。注意，hexo3之后，官方把server 功能独立出来作为一个模块，所以要先安装该模块再npm server：npm install hexo-server --save目录说明node_modules // 相关的依赖包 source // 资源文件 - _posts // 文章路径 - about // 自定义菜单 - tags - ... themes // 主题目录 - next // next主题 - _congit.yml // 主题配置文件 _congit.yml // 项目配置文件预览发布本地预览hexo generate hexo server执行完通过浏览器打开 localhost:4000 查看效果然后就可以发布了hexo clean hexo generate //生成静态文件 hexo deploy //部署上去 上面两句可以简写成 hexo g && hexo d 或 hexo g -d新建模板hexo new "postName" #新建文章 hexo new page "pageName" #新建页面安装主题下载主题这里以 NexT 主题为例在终端窗口下，定位到 Hexo 站点目录下。执行命令：cd your-hexo-site git clone https://github.com/iissnan/hexo-theme-next themes/next 启用主题打开站点目录下的配置文件 _config.yml 文件，通过配置 theme 变量，启用主题：theme: next 验证启用通过在hexo-site站点根目录，执行 hexo s --debug 命令，启动本地调试服务，此时命令行会提示：INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.当看到这样的提示时，意味着你已经成功启动服务，通过浏览器打开 http://localhost:4000 检查主题是否可用。发布到Git Pages注册码云，创建仓库我们需要在 gitee 创建自己的账户；然后再创建一个自己仓库，仓库名为自己的用户名；选择 服务 -> Gitee Pages，选择需要部署的分支，这里选择 Master 启动服务；访问生成的网站地址，即可以查看你部署的静态页面啦！生成SSH公钥码云提供了基于SSH协议的Git服务，在使用SSH协议访问仓库仓库之前，需要先配置好账户/仓库的SSH公钥。你可以按如下命令来生成 sshkey:ssh-keygen -t rsa -C "xxxxx@xxxxx.com" 注意：这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称，并不约束或要求具体命名为某个邮箱。现网的大部分教程均讲解的使用邮箱生成，其一开始的初衷仅仅是为了便于辨识所以使用了邮箱按照提示完成三次回车，即可生成 ssh key。第一次确定文件；第二次输入密码；第三次确认密码。通过查看 cat ~/.ssh/id_rsa.pub 文件内容，获取到你的 public key.cat ~/.ssh/id_rsa.pub # ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....添加SSH公钥复制生成后的 ssh key，通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ，添加生成的 public key 添加到仓库中。注意，此处添加公钥选择右上角的 如果您想要对仓库进行写操作，请添加个人公钥，否则无权限操作仓库。添加后，在终端（Terminal）中输入ssh -T git@gitee.com首次使用需要确认并添加主机到本机SSH可信列表。若返回以下内容，则证明添加成功。Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access.添加成功后，就可以使用SSH协议对仓库进行操作了。部署服务如果我们想部署到我们的 git pages，我们要先安装一个辅助插件：npm install hexo-deployer-git --save输入命令一键发布hexo clean && hexo g && hexo dHexo本地与线上不同步的问题https://blog.csdn.net/GAI159/article/details/105128186