Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git restrict";加上「;及;“提交”;从存储库的子目录_Git - Fatal编程技术网

git restrict";加上「;及;“提交”;从存储库的子目录

git restrict";加上「;及;“提交”;从存储库的子目录,git,Git,如果您不在git存储库的根目录中(即.git所在的位置),有没有办法限制gitadd和commit 我这样问是因为我的$HOME目录受git控制,有时我会偶尔添加和提交一些内容。当我忘记初始化新的回购协议时,就会发生这种情况 以下是我想要什么的简短描述: mkdir /tmp/git_test && cd /tmp/git_test && touch t1 t2 t3 git init && git add -A && git co

如果您不在git存储库的根目录中(即.git所在的位置),有没有办法限制git
add
commit

我这样问是因为我的
$HOME
目录受git控制,有时我会偶尔添加和提交一些内容。当我忘记初始化新的回购协议时,就会发生这种情况

以下是我想要什么的简短描述:

mkdir /tmp/git_test && cd /tmp/git_test && touch t1 t2 t3
git init && git add -A && git commit -m "INIT" 
touch t4 t5 t6 # create new files
mkdir /tmp/git_test/git_test2 && cd /tmp/git_test/git_test2
git add -A # on this step it should not allow me to add files t4 t5 and t6 because I'm in subdirectory
在最后一步中,我想得到一些是/否对话框,或者只是错误。但事实上,它允许添加文件

(/tmp/git_test/git_test2)$ git status -sb
## master
A  ../t4
A  ../t5
A  ../t6

Git总是在父目录中查找它找到的第一个
.Git/
,因此没有内置的方法来实现这一点

但是,您可以添加一个检查当前目录中是否有
.git/
,并在不存在时停止提交


即使您无意中将文件暂存或提交到了一个存储库中,您也可以用它来撤消它。

Git总是在父目录中查找它找到的第一个
.Git/
,因此没有内置的方法来执行此操作

但是,您可以添加一个检查当前目录中是否有
.git/
,并在不存在时停止提交


即使您无意中将文件暂存或提交到了一个存储库,您也可以使用它来撤消它。

感谢使用钩子的想法,我正在考虑使用bash别名的解决方案感谢使用钩子的想法,我正在考虑使用bash别名的解决方案