跳转到内容

将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