目前的方案是使用360云盘进行obsidian的文件同步,但是没有同步git的配置,因为同步git配置会有同步异常的问题。目前的问题是在多个客户端,obsidian新增的文件都已经同步了,但是git记录的变动没有同步,因此需要git pull然后进行merge。本次记录如何merge以及异常情况如何处理。
1. 丢弃本地的所有更改并重置到远程
要将本地分支强制重置为远程分支的状态,你可以使用以下命令:
1 | git fetch origin |
git fetch origin
:从远程仓库获取最新的更新。git reset --hard origin/branch-name
:强制重置当前分支到指定的远程分支,使所有本地文件与远程分支的状态完全一致。请将branch-name
替换为你的实际分支名,比如main
或master
。
2. 处理未跟踪的文件
如果你的工作目录中有未跟踪的文件(即新建但未添加到版本控制的文件),使用 reset --hard
不会删除这些文件。要同时删除这些未跟踪的文件,你需要在执行上面的命令之前添加以下命令:
1 | git clean -fd |
git clean -fd
:这个命令会删除未跟踪的文件和目录。
总结命令
完整的命令组合如下:
1 | git fetch origin |
注意事项
使用 git reset --hard
和 git clean -fd
会丢失所有未保存的本地更改和未跟踪的文件。请确保你确实不需要这些更改或文件。
文章作者: apostle
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 apostle的数字花园!
相关推荐

2024-11-18
obsidian修改字体间距
背景我的方案是使用云盘进行obsidian的文件同步的,各端都使用云盘进行数据的同步。最近刚买了macmini,配置在obsidian同步的时候,macos不知道为什么”.obsidian”隐藏文件没有同步到,导致在macos本地没有新建这个文件夹,而”.obsidian”的文件夹是配置文件夹,没有的话主题和插件都没有。然而最最神奇的来了,在macos重新装了插件一个插件以后,macos又新建“.obsidian”文件夹,然后又莫名其妙开始同步了,并且把最新只有一个配置的文件夹给同步了。其他插件都比较好装,但是文字排版需要对css重新进行配置,因此重新记录一下,避免忘记。习惯了文字1.5倍间距,标题段前段后有分割,在编辑模式下看着真心不能忍。原来的排版如下:设置了行间距和段前段后,新的排版如下: 修改方案本文基于主题:typora-vue主题修改,虽然好像和主题也没有什么关系 1. 打开css代码片段在外观中拉到底,看到css代码片段,选择开启 2. 新建css格式打开对应文件夹,新建一个snippets.css的文件,在snippets.css添加如下。保存即可 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263/* 编辑模式下的行间距和段间距 */.cm-s-obsidian .cm-line { line-height: 1.8; /* 行间距调整为1.7 */ padding-top: 0.2em !important; /* 段首间距调整为0.75em */ padding-bottom: 0.2em !important; /* 段尾间距调整为0.75em */}/* 编辑模式下非段落元素(如列表)的行间距 */.cm-s-obsidian...

2024-11-19
obsidian通过git和hexo同步
新建用户 1234567# 添加一个git用户并生成目录sudo useradd -m git# 输入密码sudo passwd gitsu gitmkdir ~/.ssh && chmod 700 ~/.sshtouch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys 上面创建的git用户可以通过ssh连接,进行任何操作。为了安全性,我们需要将git用户的活动限制在与Git相关的范围,也就是把git用户的shell改成 git-shell 1sudo chsh git -s $(which git-shell) 创建blog 对应的git仓库在 /var/repo下,创建一个空的blog.git仓库,请灵活替换。 123mkdir /var/repocd /var/repogit init --bare blog.git 配置git-hooks也就是配置git推送后执行的脚本 1vim /var/repo/blog.git/hooks/post-receive 添加 12#!/bin/bashgit --work-tree=/var/www/hexo --git-dir=/var/repo/blog.git checkout -f 意思是从blog.git仓库覆盖掉/var/hexo目录,达到更新的目的。为其添加执行权限 1chmod +x /var/repo/blog.git/hooks/post-receive 改变blog.git目录的拥有者 1chown -R git:git blog.git 创建静态文件目录,并赋予权限123mkdir /var/www/hexochown -R git:git /var/www/hexochmod -R 755 /var/www/hexo 设置git自动推送设置ssh密钥,...

2024-11-08
【1】wordpress安装
最近想搭建一个博客,将现在已经记录在obsidian的文章上传。查看和obsidian配合使用最多的是hexo。实际使用hexo以后发现搭建确实比较方便,几个命令就可以下载,但是主题配置麻烦,自定义难度高。我的诉求是自己通过AI创建了一个官网,希望把这个官网作为博客的主页,选了hexo的next、butterfly、even、fluid都不满意,看了bili上的博客网站,看了一下halo和wordpress,最终决定用wordpress搭建。我的需求如下: 我自己新建的官网可以使用,那是一个纯用AI生成的官网,用于给用户展示。 在官网的基础把博客内容放进去,或者反过来说,我需要建立一个wordpress的博客,官网可以使用我已经建立好的官网页面,恰好看到wordpress支持这个功能.使用配置如下: ubuntu主机1台 安装过程1. 准备工作使用ubuntu进行搭建,本人的ubuntu版本是20.04,可以通过如下命令进行查看: 123lsb_release -a# 或者查看文件cat /etc/os-release 2. 安装 nginx先要升级最新源,安装nginx服务器 1234567# 升级到最新源sudo apt-get updatesudo apt-get upgrade# 安装nginxsudo apt install nginxsudo systemctl start nginx 查看nginx状态,看是否成功 1234567# 查看nginx状态sudo systemctl status nginx# 若果看到active,那就是成功了nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since...

2024-11-10
【2】wordpress申请https证书
默认wordpress是http进行访问,http其实不安全,但是使用https访问,如果没申请证书会提示警告,这个时候就需要申请有效的证书并配置。默认在腾讯云控制台是可以申请域名证书的,但是有控制台申请的域名证书每次只有3个月,每次都需要手动下载替换。在linux中可以直接使用certbot机器人进行申请和自动替换,好处有2个。 可以申请https的ssl证书 可以自动续期申请域名的前提条件: 域名:需要已备案并有效的域名,并且该域名指向服务器。 服务器:1台VPS 或云服务器,并且上面安装了 Nginx 或 Apache。 操作系统: Debian、Ubuntu、CentOS系统本次以ubuntu系统为例,安装的时nginx。 安装与申请1. 更新软件源1sudo apt update 2. 安装Certbot在ubuntu中,安装cerbot 1sudo apt install certbot python3-certbot-nginx 3. 申请ssl证书替换yourdomain为你的域名,比如我申请rrdsceo.cn,那么就一次性申请:rrdsceo.cn,www.rrdsceo.cn, blog.rrdsceo.cn; 1sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com -d blog.yourdomain.com Certbot 会请求 Let’s Encrypt 验证域名的控制权,通常 Certbot 会自动处理这个过程。验证成功后,它会安装证书并更新你的 web 服务器配置,比如查看: 12sudo vim /etc/nginx/sites-enabled/defaultsudo vim /etc/nginx/sites-enabled/yourdomain.com 都能看到有对应的443的https,则说明已经自动添加了 12345678910111213141516171819server { listen 443 ssl; listen...

2024-11-10
【3】wordpress后台配置
访问对应配置的网站后台,是域名/wp-admin 1https://yourdomain.com/wp-admin 安全设置目前通过https://yourdomain.com/wp-admin可以访问wordpress后台,其实是非常危险的,黑客可以通过无限登录用户名密码的方式,使用密码本进行爆破,因此需要: 隐藏登录路径 限制登录尝试次数 1. 隐藏登录路径在 WordPress 后台,转到 插件 > 添加新插件,搜索并安装WPS Hide Login 插件。 启用插件后,转到 设置 > WPS Hide Login。 在“新登录 URL”字段中输入新的登录路径,例如 my-custom-login。 点击 保存更改`,则可以通过如下进行访问: 1https:/yourdomain.com/my-custom-login 2. 限制登录次数使用插件 Limit Login Attempts Reloaded,搜索并下载设置,使用邮箱注册登录。 3. 设置双重校验安装新插件Two Factor Authentication,安装好后-勾选 Enable the Two Factor Authentication(启用双重身份验证)选项然后下载Google Authenticator,使用手机扫描二维码记录密码,后面就需要2次登录了。![[ob_photo/Pasted image 20241110033434.png]] 安装主题在外观中,可以选择对应的主题进行下载安装使用,先选择几个主题测试用用,在外观-主题中,选择安装新主题。 1. 安装主题问题1.1 需要输入FTP这种情况是由于网站目录权限引起的,如果有FTP的话,你可能填写一下FTP就可以了,但是很多时候我们本地搭建并没有FTP,可以修改wp-conhg.php文件 1sudo vim /var/www/html/wp-config.php 在最后增加一行: 1define('FS...

2024-11-09
【4】wordpress和官网配置
其实最初是通过cursor花了三个晚上,自己做了一个首页网站(怎么做这个网站后面会说)。在做完以后有些意犹未尽,既然已经有了网站了,也写了不少东西,何不直接改成一个博客,说干就干。作为一个半点js不会的产品经理,我理所当然的咨询了cursor,提示我用子域名或者子目录的方式来进行合并,考虑到如果是子目录的方式,我本地如果要做调试需要和云端保持一致非常困难,于是选用子域名的方式 配置wordpress的域名我的域名是rrdsceo.cn,申请的域名是从腾讯云中申请,因此需要先增加腾讯云的域名解析。 1. 登录腾讯云账号登录腾讯云控制台:https://console.cloud.tencent.com,使用账号密码登录 2. 进入域名管理器选择对应购买的服务器,进入域名管理控制台,点击对应的域名,并添加对应的域名解析,域名解析是blog.yourdomain.cn。 3. 测试子域名打开浏览器,输入对应的子域名,如果打开成功,则生效了。 配置wordpress路径请注意,以下所有yourdomain.com或者blog.yourdomain.com,请换成自己对应的域名 1. 新建wordpress目录因为默认的/var/www/html已经被原有官网占了,所以重新再/var/www下新建了wordpress 1sudo mkdir /var/www/wordpress 配置对应的phpmyadmin路径,让mysql和phpmyadmin打通,有对应的权限 1sudo ln -s /usr/share/phpmyadmin /var/www/wordpress/phpmyadmin 2. 配置nginx子域名新增文件blog.yourdomain.cn,其中yourdomain是你的域名名字,比如我的是rrdsceo.cn,那么就是blog.yourdomain.com。 1sudo vim...
评论