This commit is contained in:
@@ -1,28 +0,0 @@
|
||||
# Git: 覆盖本地修改
|
||||
|
||||
!!! warning "注意!"
|
||||
|
||||
本文介绍的命令将使你放弃所有本地更改,而使用远程分支中的副本重置/覆盖所有内容。
|
||||
|
||||
输入以下命令来覆盖本地文件:
|
||||
|
||||
``` sh
|
||||
git fetch --all
|
||||
git reset --hard <remote>/<branch_name>
|
||||
```
|
||||
|
||||
例如:
|
||||
|
||||
``` sh
|
||||
git fetch --all
|
||||
git reset --hard origin/main
|
||||
```
|
||||
!!! info
|
||||
|
||||
不论是否使用 --hard 选项,所有尚未推送的本地提交都将丢失。
|
||||
|
||||
## 命令详解
|
||||
|
||||
`git fetch` 从远程下载最新版本,不会尝试合并或重新设置任何内容。
|
||||
|
||||
然后 `git reset` 将 main 分支重置为你刚获取的分支。--hard 选项更改工作树中的所有文件,以匹配 origin/main 中的文件。
|
||||
@@ -16,13 +16,13 @@ echo -n 'gitea-xxxxxxxxxx' | ssh-keygen -Y sign -n gitea -f /path_to_your_privke
|
||||
|
||||
千万不要在 Windows 默认的 CMD 或 PowerShell 中执行这段命令!
|
||||
|
||||
Windows 的 echo 命令不支持 -n 参数,它会把 -n 甚至回车换行符一起发送给硬件密钥进行签名。这会导致生成的签名数据完全错乱,提交到 Gitea 时会永远报错“签名不匹配”。
|
||||
Windows 的 echo 命令不支持 `-n` 参数,它会把 `-n` 甚至回车换行符一起发送给硬件密钥进行签名。这会导致生成的签名数据完全错乱,提交到 Gitea 时会永远报错“签名不匹配”。
|
||||
|
||||
正确操作是在 Windows 11 中打开 Git Bash。
|
||||
|
||||
复制 Gitea 提供的命令并在 Git Bash 中执行。将 `/path_to_your_privkey` 替换为你本地密钥路径。(如果读取私钥存根失败,对于硬件密钥也可以尝试指向公钥)
|
||||
|
||||
终端会输出一段被 -----BEGIN SSH SIGNATURE----- 和 -----END SSH SIGNATURE----- 包裹的签名块。
|
||||
终端会输出一段被 `-----BEGIN SSH SIGNATURE-----` 和 `-----END SSH SIGNATURE-----` 包裹的签名块。
|
||||
|
||||
将这整段签名块复制,粘贴回 Gitea 的网页验证框中,点击确认即可。
|
||||
|
||||
@@ -53,3 +53,32 @@ markdown_extensions:
|
||||
- pymdownx.betterem:
|
||||
smart_enable: '_'
|
||||
```
|
||||
|
||||
## Git 覆盖本地修改
|
||||
|
||||
!!! warning "注意!"
|
||||
|
||||
以下命令将使你放弃所有本地更改,而使用远程分支中的副本重置/覆盖所有内容。
|
||||
|
||||
输入以下命令来覆盖本地文件:
|
||||
|
||||
``` bash
|
||||
git fetch --all
|
||||
git reset --hard <remote>/<branch_name>
|
||||
```
|
||||
|
||||
例如:
|
||||
|
||||
``` bash
|
||||
git fetch --all
|
||||
git reset --hard origin/main
|
||||
```
|
||||
!!! info
|
||||
|
||||
不论是否使用 --hard 选项,所有尚未推送的本地提交都将丢失。
|
||||
|
||||
### 命令详解
|
||||
|
||||
`git fetch` 从远程下载最新版本,不会尝试合并或重新设置任何内容。
|
||||
|
||||
然后 `git reset` 将 main 分支重置为你刚获取的分支。--hard 选项更改工作树中的所有文件,以匹配 origin/main 中的文件。
|
||||
@@ -95,7 +95,6 @@ nav:
|
||||
- "Mi 6 (sagit)": tech/Mi6(sagit).md
|
||||
- "极1S (HC5661)": tech/HC5661.md
|
||||
- "小米 CR6608": tech/CR6608.md
|
||||
- "Git: 覆盖本地修改": tech/Git-overwriting-local-changes.md
|
||||
- "Mi 8 UD (equuleus)": tech/Mi8UD(equuleus).md
|
||||
- "Redmi 4X (santoni)": tech/Redmi4X(santoni).md
|
||||
- "手把手教你备份和还原 Docker 卷": tech/Backup-and-Restore-of-Docker-Volumes-A-Step-by-Step-Guide.md
|
||||
|
||||
Reference in New Issue
Block a user