将git仓库文件储存到其他目录
想法由来: obsidian仓库放在坚果云中, 可以实时云端同步; 同时我又想用git管理该仓库, 以便知道文件的变化过程. 如果直接在坚果云的同步文件夹中建立git仓库, git数据会影响同步速度.
参考: 【git+坚果云】将 .git 文件夹移出坚果云同步 - 知乎 (zhihu.com)
过程:
- 进入坚果云文件夹A
cd C:\Users\wenidc\Nutstore\1\我的坚果云\box
- 新建git仓库 设定一个外部的git文件夹路径B
git init --separate-git-dir D:\Aoyu\git_repos\box.git
效果: 在文件夹A中将多出一个文件.git
, 内容为 gitdir: D:/Aoyu/git_repos/box.git
; 在文件夹B中将多出一个文件夹box.git
, 里面是git数据.
如果已经存在远程仓库(有内容),只是和本地的内容不同步,想要将本地文件夹和远程仓库关联起来,我的做法是:
- 将本地文件夹里的内容移动先到其他地方
- 克隆远程仓库到本地(与原来的本地文件夹位置相同)
- 删除仓库里除了
.git
文件以外的内容 - 将原来的文件替换回去
- 然后正常 add, commit