Git忽略规则gitignore配置不生效原因和解决

原因

.gitignore中已经标明忽略的文件目录下的文件,git push的时候还会出现在push的目录中,或者用git status查看状态,想要忽略的文件还是显示被追踪状态。
原因是因为在git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,

这时候我们就应该先把本地缓存删除,然后再进行git的提交,这样就不会出现忽略的文件了。

解决方法

git清除本地缓存(改变成未track状态),然后再提交:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git push -u origin master

Hexo博客搭建及git自动部署至云服务器

一、安装nginx服务和配置

yum install -y nginx
systemctl start nginx
systemctl enable nginx
# nginx配置文件中添加
server{
    listen    80;
    root /home/www/website;这里填博客目录存放的地址
    server_name 这里填域名如(www.baidu.com) 如果暂时没有域名公网ip,以后有了再改回来;
    location /{
    }
}
# 创建网站目录

二、安装node、git服务和配置

1.服务安装

curl -sL https://rpm.nodesource.com/setup_12.x | bash -
yum install -y nodejs
yum install git

2.git用户创建

chmod 740 /etc/sudoers
vi /etc/sudoers
# 在root ALL=(ALL) ALL 这句话下方添加:
git ALL=(ALL) ALL
# 保存后改回权限
chmod 400 /etc/sudoers
# 设置git密码
passwd git

3.通过密钥登录传输

  • 服务端
su git
cd ~
ssh-keygen
# 此时在目录下就会有两个文件,分别是
id_rsa 和 id_rsa.pub
cp id_rsa.pub authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
# 现在我们要创建一个git的仓库,并且新建一个post-receive文件,操作如下:
cd ~
git init --bare blog.git
vi ~/blog.git/hooks/post-receive
# 添加以下内容
git --work-tree=/home/www/website --git-dir=/home/git/blog.git checkout -f
# 保存后执行
chmod +x ~/blog.git/hooks/post-receive
  • 客户端
#把服务端id_rsa复制到本地电脑 C:\Users\xxx\.ssh>下方
# xxx为Windows用户名
# 执行
git git@云服务ip或域名
# 第一次可能需要输入密码,以后就不用了。

三、本地主机的操作

1.同样安装node.js

2.安装hexo

npm config set registry https://registry.npm.taobao.org
# 然后安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g hexo-cli
# 然后我们选一个目录用来初始化博客程序G:/Blog
G:
cd Blog
hexo init
# 执行成功后安装两个插件
npm install hexo-deployer-git --save
npm install hexo-server
# 执行以下命令即可使用本地博客
hexo g
hexo s

3.配置_config.yml完成服务器的部署

# 在刚才生成hexo的目录下,找到_config.yml,打开它。找到deploy 做如下配置:
deploy:
type: git
repo: git@这里改为服务器公网IP:/home/git/blog.git       
branch: master                           
message:                                  
# 保存退出,然后尝试写一篇文章并且发布到服务器上
hexo new "Hello My First Blog"
hexo clean && hexo generate --deploy