为什么每次使用Git Bash命令时都要输入"git"?

7
git status
git add
git clone 
git push
git commit.... 

为什么Git bash不允许您输入如下git命令:
status
add
clone
push

然后,对于所有非git命令,请输入“nongit”或其他类似的内容。

nongit cd
nongit ls...

或者这是可能的吗?

6
毕竟它是一个bash,人们(除了你:p)希望它能够正常工作。通常,人们不仅使用shell来进行git操作,还用它来编译自己的代码并进行可能的运行/调试等其他操作。 - ThiefMaster
这并不是你问题的直接答案。但为了不浪费时间打长命令,你可以使用git别名。也许这个页面会有用。 - ДМИТРИЙ МАЛИКОВ
@ДМИТРИЙМАЛИКОВ:或者是bash自动补全。 - Benjamin Bannier
3个回答

7

这是为了避免内部git命令与现有的shell命令冲突而采取的措施。

在像git这样的现代CLI工具中,功能通常被拆分为子工具,可以通过内部命令调用。然后这些命令可以接受特定的参数,使工具界面更清晰简洁。git status的意思是“调用gitstatus命令”。


这同样适用于p4(Perforce),cvs和svn。我所知道的唯一不使用单个二进制文件及其子命令的CLI VCS是RCS(ci,co,rcs,rcsdiff,rcsmerge和rlog),这更可能是历史遗留问题,因为它是早期创建的。 - user289086

5

虽然这并没有回答“为什么”的问题,但是这依然是一个不错的发现。干得好。 - Roman

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接