首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在git中可以禁用“危险”命令行选项吗?

在git中可以禁用“危险”命令行选项吗?
EN

Stack Overflow用户
提问于 2014-06-19 22:10:32
回答 3查看 1.4K关注 0票数 6

根据习惯,我经常在回购中进行更改,并使用git commit -am 'my commit message'一次性添加/提交它。

有时,我只想添加几个修改过的文件,所以我将发出准备好的git add命令来精心设置我的暂存区域,并将准备提交的更改与半生不熟的更改分开。

然后,我将发出与通常相同的git commit -am '...'命令,从而增加整个过程。

是否有一种方法可以禁用git commit -a选项和/或在使用-a开关时发出警告?我想训练自己摆脱这种简陋的习惯.

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-06-20 01:55:25

创建一个名为git的包装脚本,它将捕获错误的命令,并将好的命令转发给真正的git。把它放在你的$PATH前面

代码语言:javascript
运行
复制
#!/bin/bash

for ARG in "${@}"; do
    if [ "${ARG}" = "-am" ]; then
        echo "Hey! Don’t do that!" 1>&2
        exit 1
    fi
done

exec /usr/bin/git "${@}"

几乎所有的git命令都能正常工作:

代码语言:javascript
运行
复制
$ git pull
remote: Counting objects: 1183, done.
remote: Compressing objects: 100% (728/728), done.
remote: Total 1183 (delta 771), reused 632 (delta 455)
Receiving objects: 100% (1183/1183), 1.12 MiB | 1.46 MiB/s, done.
...

但那些你不想工作的人不会:

代码语言:javascript
运行
复制
$ git commit -am "foo"
Hey! Don’t do that!
票数 6
EN

Stack Overflow用户

发布于 2014-06-19 22:28:13

我不知道 setting会防止/不允许git commit--all/-a选项。

你可以考虑一下:

(-q表示“安静”)

这将从工作树中删除您的任何修改(除了已经添加到索引中的修改)。

  • post-commit钩 如果[$[$( git stash list区)\x\ grep " stash @{0}“\\x grep”可能提交am")“!=”],则git藏弹-q fi。

这应该允许您在不提交所有内容的情况下键入git commit -[a]m "a commit message"

如果您想跳过这些钩子一次提交:

代码语言:javascript
运行
复制
git commit --no-verify -m "a commit message"
票数 3
EN

Stack Overflow用户

发布于 2018-04-04 18:50:22

这是鱼壳特有的,所以它不会对每个人都有用.但可能对某些人来说!

代码语言:javascript
运行
复制
function git
  if string match 'commit' $argv[1] > /dev/null
    set has_am 0

    for arg in $argv
      if string match -r -- '^-am.*' $arg > /dev/null
        set has_am 1
      end
    end

    if test $has_am -eq 1
      echo -e "Commit All detected.\nDon't do this!"
    else
      command git $argv
    end
  else
    command git $argv
  end
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24317038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档