如何快捷对VS Code当前活动文件执行git add操作?
单文件Git暂存提交简化操作方案
VS Code 端快捷操作
- 唤出源码管理面板:按快捷键
Ctrl+Shift+G(Windows/Linux)/Cmd+Shift+G(Mac)直接打开左侧源码管理面板,所有改动文件会按状态列在「更改」分类下,鼠标悬停到目标文件上点击出现的+按钮,即可直接暂存对应单文件,无需手动输入路径。 - 自定义一键暂存当前文件快捷键:按
Ctrl+K Ctrl+S(Windows/Linux)/Cmd+K Cmd+S(Mac)打开快捷键设置面板,搜索git.stage(暂存文件)命令,给它绑定你习惯的组合键(比如Alt+A),设置完成后,只要你在编辑器里打开要暂存的目标文件,按下绑定的快捷键就能直接暂存当前激活的文件,不需要切换面板。 - 单文件快速提交:暂存单个文件后,直接在源码管理面板顶部的输入框填写提交信息,按
Ctrl+Enter(Windows/Linux)/Cmd+Enter(Mac)即可完成提交,不会带上其他未暂存的改动。
Zsh 命令行脚本方案
把下面的函数配置追加到~/.zshrc文件末尾,保存后执行source ~/.zshrc让配置生效即可使用。
# 模糊选择单个改动文件暂存,依赖fzf工具 gaddf() { local selected_file selected_file=$(git status --short | awk '{print $2}' | fzf --height 40% --prompt="请选择要暂存的改动文件: ") if [[ -n "$selected_file" ]]; then git add "$selected_file" echo "✅ 已暂存文件: $selected_file" git status --short fi } # 按关键词匹配单个改动文件暂存,无需输入全路径 gadd() { if [[ $# -eq 0 ]]; then echo "❌ 请传入文件关键词,例: gadd login 会自动匹配路径带login的改动文件" return 1 fi local target_file target_file=$(git status --short | awk '{print $2}' | grep "$1" | head -n1) if [[ -n "$target_file" ]]; then git add "$target_file" echo "✅ 已暂存匹配文件: $target_file" else echo "❌ 未找到路径包含 $1 的改动文件" fi } # 一键选择单个文件暂存并提交,传入提交信息作为参数 gcf() { if [[ $# -eq 0 ]]; then echo "❌ 请传入提交信息,例: gcf 修复登录页校验逻辑异常" return 1 fi local selected_file selected_file=$(git status --short | awk '{print $2}' | fzf --height 40% --prompt="请选择要提交的改动文件: ") if [[ -n "$selected_file" ]]; then git add "$selected_file" git commit -m "$*" echo "✅ 已提交文件: $selected_file" echo "📝 提交信息: $*" fi }
注意:gaddf和gcf函数依赖fzf模糊查找工具,使用前先通过系统包管理器安装:Mac执行brew install fzf,Debian/Ubuntu执行sudo apt install fzf,CentOS执行sudo dnf install fzf。
使用示例:
- 想从所有改动文件里选一个暂存,直接终端输
gaddf,在弹出的列表里用上下键选文件按回车即可。 - 记得自己改的文件带
user关键词,直接输gadd user就会自动匹配第一个路径带user的改动文件暂存。 - 想选一个文件直接提交,输
gcf 修复用户头像上传失败问题,选完文件就会自动暂存+提交,不用分步敲命令。
内容的提问来源于stack exchange,提问作者user12457151
相关产品推荐
相关产品推荐

