From 0fe644e4b7b54e5bd4621e91f31f105edf12cbe1 Mon Sep 17 00:00:00 2001 From: dichgrem Date: Sun, 9 Nov 2025 19:21:44 +0800 Subject: [PATCH] update:git --- .github/workflows/mirror-to-codeberg.yml | 38 ----------------- content/about-git.md | 54 ++++++++++++++++++++++++ content/about-server-set.md | 2 +- 3 files changed, 55 insertions(+), 39 deletions(-) delete mode 100644 .github/workflows/mirror-to-codeberg.yml diff --git a/.github/workflows/mirror-to-codeberg.yml b/.github/workflows/mirror-to-codeberg.yml deleted file mode 100644 index 5429708..0000000 --- a/.github/workflows/mirror-to-codeberg.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Mirror to Codeberg -on: - push: - branches: - - main - tags: - - '*' - -jobs: - mirror: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Push to Codeberg - env: - SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY_CODEBERG }} - REPO_URL_CODEBERG: ${{ secrets.REPO_URL_CODEBERG }} - run: | - set -euxo pipefail - - mkdir -p ~/.ssh - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519 - chmod 600 ~/.ssh/id_ed25519 - cat >> ~/.ssh/config < Verified + +在 GitHub 的 commit 历史中看到的 “Verified” 标记,表示该提交是经过 签名验证(signed commit) 的,也就是 GitHub 能确认这个 commit 的确是由声明的提交者(你)签名并发布的。可以通过GPG或者SSH配置: + +- GPG方式 + +``` +sudo pacman -S gnupg //安装 GPG +gpg --full-generate-key //生成 GPG 密钥 +gpg --list-secret-keys --keyid-format=long //查看你生成的密钥 ID +git config --global user.signingkey ABCDEF1234567890 //让 Git 使用该密钥签名 +git config --global commit.gpgsign true //启用自动签名所有提交 +gpg --armor --export ABCDEF1234567890 //导出公钥并添加到 GitHub +``` +然后前往``GitHub → Settings → SSH and GPG keys → New GPG key``粘贴并保存。 + +- SSH方式 + +可以用你平时登录 GitHub 的同一个 SSH 密钥: +``` +git config --global gpg.format ssh //让 Git 使用 SSH 格式签名 +git config --global user.signingkey ~/.ssh/Github.pub //指定使用的 SSH 公钥 +git config --global commit.gpgsign true //表示自动签名所有提交 +``` +然后前往``Settings → SSH and GPG keys → New SSH key → Signing key``粘贴并保存。 + +- 本地查看 + +首先创建这个文件: +``` +mkdir -p ~/.ssh +nano ~/.ssh/allowed_signers +``` +写入你的 ``test@mail.com ssh-ed25519 AAAABBBBBBBBBBBBBBBBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx``并保存。 +随后配置Git信任该文件: +``` +git config --global gpg.ssh.allowedSignersFile ~/.ssh/allowed_signers +``` +随后使用``git log --show-signature``即可查看本地log中的 +``` +Good "git" signature for test@mail.com with ED25519 key SHA256:ssh-ed25519 AAAABBBBBBBBBBBBBBBBBBBBB +``` + ## 合并分支 分支是用来将特性开发绝缘开来的。比如你在本地的test分支新增了一个功能,想要合并到主分支中。 @@ -378,6 +422,16 @@ git log --pretty=oneline ``` git log --name-status ``` +## 生成补丁 + +比如你修改了项目中的``fs/proc/base.c``,然后 + +``` +git add fs/proc/base.c +git commit -m "fix:base" +git format-patch origin/16.0 +``` +即可在目录下生成补丁``0001-fix-base.patch``. ## 删除前一个提交记录 有时候手滑或者不想使用一个commit说明,可以用以下命令撤销上一个 commit: diff --git a/content/about-server-set.md b/content/about-server-set.md index 2d6a522..02bcd1d 100644 --- a/content/about-server-set.md +++ b/content/about-server-set.md @@ -383,7 +383,7 @@ sudo update-grub 除了到VPS后台更换外,还可以使用这个脚本: -- [bin456789/reinstall](github.com/bin456789/reinstall) +[bin456789/reinstall](github.com/bin456789/reinstall) ``` 一键重装到 Linux,支持 19 种常见发行版