Files
My-Notes/笔记/Git/基础知识.md
T
2026-06-21 09:51:55 +08:00

3.7 KiB
Raw Blame History

Git 基础知识

Git 是一个版本控制工具。它可以记录文件夹在不同时间点的状态,让我们知道改了什么、什么时候改的,也可以把本地内容同步到 GitHub 这样的远程仓库。

三个核心位置

工作区 workspace: 你平时直接看到和编辑的真实文件夹,比如 Obsidian 里的 .md 笔记、图片、模板等。

本地仓库 local repository 工作区里有一个隐藏目录 .git 后,这个文件夹就成为 Git 本地仓库。.git 里保存提交历史、分支、远程地址等信息。

远程仓库 remote repository 放在 GitHub、Gitee 等平台上的仓库。比如:

https://github.com/Ki5ter/Obsidian.git

本地仓库和远程仓库不是同一个东西。commit 只提交到本地,push 才会上传到远程。

常见概念

stage/index 暂存区: 准备放进下一次提交的改动。可以理解为“这次 commit 我要带上的内容清单”。

commit 提交: 一次本地快照。提交后,Git 会记住当前这批改动。

branch 分支 一条提交历史线。常见主分支名是 mainmaster

remote/origin: 远程仓库地址的别名。通常把 GitHub 远程仓库命名为 origin

push 推送: 把本地 commit 上传到远程仓库。

pull 拉取: 从远程仓库下载最新改动,并合并到当前本地分支。

fetch 获取 只下载远程仓库信息,不自动合并。

基本工作流程

  1. 打开工作区,也就是要纳入版本控制的文件夹。
  2. 执行 git init,把文件夹初始化成本地 Git 仓库。
  3. 配置远程仓库,也就是添加 origin
  4. 修改、新增或删除文件。
  5. 把改动加入暂存区。
  6. 提交到本地仓库。
  7. 推送到远程仓库。

对应命令:

cd "E:\Obsidian\OneDrive\Apps\remotely-save\MyNotes"
git init
git remote add origin https://github.com/Ki5ter/Obsidian.git
git add .
git commit -m "Initial Obsidian notes backup"
git push -u origin main

如果当前分支叫 master,推送命令也可以是:

git push -u origin master

main 和 master

mainmaster 都可以作为主分支名。

现在 GitHub 新仓库通常默认使用 main,旧仓库或某些工具可能默认使用 master

把当前分支改名为 main

git branch -M main

第一次推送并设置上游分支:

git push -u origin main

-u 的意思是把本地分支和远程分支关联起来。设置过一次后,以后可以直接使用:

git push
git pull

常用检查命令

查看当前仓库状态:

git status

查看当前分支:

git branch

查看本地分支和远程分支关系:

git branch -vv

查看远程仓库地址:

git remote -v

查看提交历史:

git log --oneline --decorate -5

Obsidian 笔记库使用 Git 的注意事项

Obsidian 笔记库适合用 Git 备份,因为大多数内容都是 Markdown 文本文件。

建议提交:

.md 笔记
图片、附件
模板
必要的 .obsidian 配置

谨慎提交:

密码、密钥、Token
个人隐私内容
插件缓存
特别大的二进制文件

如果笔记库在 OneDrive 里,要注意 .git 目录必须真实保留在本机。否则 Git 或 Visual Studio 可能会报错,例如:

not a git repository
Permission denied
The cloud file provider is not running

处理方式是在资源管理器里右键笔记库文件夹,选择:

始终保留在此设备上

重点是整个笔记库和 .git 目录都要保留在本机。