mobile wallpaper 1
mobile wallpaper 2
mobile wallpaper 3
mobile wallpaper 4
593 字
2 分钟
【Manual】git指令合集
2025-12-24

git 常用指南#

git 基础配置#

ssh 连接Github#

要以个人身份访问github并管理私人仓库,就需要使用ssh连接到github进行鉴权。

  • 确保存在openssh

    ssh是包openssh的基础功能,首先需要先安装openssh工具包

  • 检查本地主机key

    ls ~/.ssh
  • 生成ssh key

    ssh-keygen -t rsa -C "xxx@xxx.com"
  • 获取ssh key 公钥

    cat ~/.ssh/id_rsa.pub
  • github上添加公钥

  • 验证是否添加成功

    ssh -T git@github.com
  • 配置全局信息

    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"
  • 配置git默认编辑器为vim

    git config --global core.editor vim

git 使用凭证管理进行登陆#

在 HTTPS 协议下实现免密推送,关键在于让 git “记住”你的登录凭证。核心就是用个人访问令牌(Personal Access Token, PAT)代替密码,然后让 Git 记住它。

git凭证管理器(Git Credential Manager, GCM) 是 GitHub 官方推荐的一种登陆方式,它在后台安全地处理 OAuth 登录,完全不需要用户手动生成和管理令牌。相比于Cache临时缓存,自己管理访问Token来说,这种方式更加智能无感,也更加安全

WARNING

凭证管理器一般依赖于系统的 “密码环” 服务。 在Linux系统中,这是一个实现并接入 Secret Service API 的、完整的凭证存储和管理方案。它会随桌面环境自动启动,并默认与用户密码关联。

TIP

主流的桌面环境,如Gnome,KDE都将该服务内置在了系统中(Gnome Keyring, 以及KDE Wallet),如果使用这之外的DE,可能得选择一些开源方案进行替代,如KeePassXCpass + pass-secret-service,这里只以Ubuntu + Gnome / KDE系统为例进行说明,KeePassXC相关的可能之后单独写一篇文章进行补充。

凭证管理器可以选择:git-credential-manager(仅Debian/Ubuntu)或者git-credential-oauth

  • 安装Git使用凭证管理器:
# git-credential-manager (Debian/Ubuntu)
sudo apt update && sudo apt install git-credential-manager
# Fedora
sudo dnf install git-credential-oauth

git-credential-manager 配置#

# 配置 Git 使用凭证管理助手
git config --global credential.helper manager
# 配置凭证存储后端
git credential-manager configure
git config --global credential.credentialStore secretservice

测试:

git-credential-manager diagnose

git-credential-oauth 配置#

# 配置 Git 使用缓存助手 (默认 900 秒/15分钟) 和 OAuth 助手
git config --global credential.helper 'cache'
git config --global credential.helper 'oauth'

当触发git push/pull命令的时候,会自动开始认证。

TIP

如果认证过程中断,需要先清楚当前认证缓存:

# 1. 清理凭据缓存
git credential-cache exit
# 2. 终止任何可能卡住的 git 进程 (按 Ctrl + C 强制结束)

接下来重新开始进行认证就好

git 分支管理#

  • 将当前修改commit到新的分支

    git stash
    git checkout -b <新的分支名>
    git stash pop
    git commit -a
  • 更改提交消息内容

    git commit --amend -m "这是新的、正确的提交信息"

git worktree 工作流#

1. 查看当前worktree#

# 查看所有工作区
git worktree list
# Porcelain 模式
git worktree list --porcelain

2. 创建工作区(新增目录)#

# 基于 main 新建分支并创建工作区目录
git fetch origin
git worktree add ~/code/myrepo/.wt/feature-login -b feature/login origin/main
# 基于已有本地分支创建工作区
git worktree add ~/code/myrepo/.wt/release-1-5 release/1.5
# 只临时查看某个提交(分离头指针,不占用分支)
git worktree add --detach ~/code/myrepo/.wt/tmp-check 4f1e2c3

3. 删除工作区#

# 预演清理(只显示将被清理的内容)
git worktree prune -n -v
# 实际清理无效/残留的 worktree 记录
git worktree prune
# 删除某个工作区目录(先确保其中无未跟踪变更)
git worktree remove ~/code/myrepo/.wt/feature-login
# 强制删除(有风险:可能丢弃未提交的改动)
git worktree remove -f ~/code/myrepo/.wt/feature-login
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

【Manual】git指令合集
https://onemom.top/posts/git_合集/
作者
onemotre zephyr
发布于
2025-12-24
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录