不只是命令,而是实际行为...... hg purge将删除所有未跟踪的文件.
我以为这是干净的,但不是......
$ git clean
fatal: clean.requireForce defaults to true and neither -n nor -f given; refusing to clean
$ git clean -n
Would not remove src/
$ git clean -f
Not removing src/
Run Code Online (Sandbox Code Playgroud)
所以,感觉就像git刚刚告诉我自己去了,大声笑......我不是在问这个事情是否同意,我只是想让Git按照我的要求去做.
我怎么说服Git先生请帮我删除我未跟踪的文件?
通过卷API创建卷时,也就是说,容器卷模式现在不再是最佳实践了:
# docker volume inspect test-data
[
{
"Name": "test-data",
"Driver": "local",
"Mountpoint": "/var/lib/docker/volumes/test-data/_data"
}
]
Run Code Online (Sandbox Code Playgroud)
我想,例如,/ data中存在docker卷(它安装在不同的物理卷中).
这不可能与符号链接有关,可以使用绑定挂载,但我想知道Docker中是否有一些配置来更改每个单独卷的默认位置.
我正在研究模拟模型,我想确定何时存储IOPS容量成为瓶颈(例如,HDD具有~150 IOPS,而SSD可以有150,000).因此,我试图想出一种方法来对命令(git)中的IOPS进行基准测试,以实现其中一些不同的操作(推,拉,合并,克隆).
到目前为止,我已经找到了像iostat这样的工具,但是,我不知道如何将报告限制为单个命令的作用.
我能想到的最好的想法是确定我的硬盘IOPS容量,在实际命令上使用时间,查看它持续多长时间,乘以IOPS,这些是我的IOPS:
HDD ->150 IOPS
time df -h
real 0m0.032s
150 * .032 = 4.8 IOPS
Run Code Online (Sandbox Code Playgroud)
但是,这当然是非常愚蠢的,因为执行的持续时间可能与CPU使用率有关,而不是与HDD的使用有关,所以除非在那段时间内使用HDD为100%,否则测量这样的事情是没有意义的.
那么,我如何测量命令的IOPS?
所以,基本上我在Docker php7-fpm容器中运行Joomla,然后我有一个nginx容器,其中一个joomla.conf文件定义如下:
#https://docs.joomla.org/nginx
server {
listen 8081;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
server_name php-docker.local;
root /usr/src/joomla;
index index.php index.html index.htm default.html default.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
# deny running scripts inside writable directories
location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}
location ~ \.php$ {
fastcgi_pass joomla:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
#include /etc/nginx/fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
Run Code Online (Sandbox Code Playgroud)
这按预期工作...转到http://:8081正确加载所有内容.
现在,8081只是暂时暴露在nginx容器中,我本来想要做的是设置一个反向代理,这样http:/// joomla将成为最终的端点.
为此,我正在努力处理以下conf文件:
server{
listen 80;
server_name _;
location …Run Code Online (Sandbox Code Playgroud) 我需要构建一个位于目录树中的二进制文件的所有文件扩展名列表.
主要问题需要是如何区分文本文件和二进制文件,其余的应该是蛋糕.
编辑:这是我最接近的,有什么更好的想法吗?
find . -type f|xargs file|grep -v text|sed -r 's:.*\.(.*)\:.*:\1:g'
Run Code Online (Sandbox Code Playgroud) 我在一个拥有数千名开发人员的企业环境中工作,我们实现了一些服务器端挂钩来防止推送大文件以及具有某些扩展名和 mime 类型的文件。
问题是,当我们尝试处理我们的用户活动级别时,我们的应用程序基本上爆炸了,所以我认为使用客户端挂钩和边缘计算将是将此处理卸载给用户的最佳方法......但是, 这意味着:
1.- 为了执行规则,我们不能依赖用户为其每个存储库下载和安装挂钩
2.- 我们需要从中心位置使这些挂钩保持最新状态
3.- 所有这一切都应该发生在用户尝试推送之后、解压更改之前
将其绑定到构建脚本或修改存储库将是绝对不行的,因为我不想污染用户的存储库,理想情况下这应该对用户完全透明,这样他们甚至不知道这些规则的处理是在他们这边完成的,并且是防篡改的(即,作为用户,我进入本地钩子目录并修改脚本)。
知道这是否可以通过在服务器上以预接收或类似挂钩启动的一些晦涩的 Git 机制来完成吗?或者也许有一些更好的解决方案,即使方法完全不同?
我厌倦了向用户解释 Git 不是用于存储二进制文件,尤其是发布二进制文件(我们的许多用户都来自于在 SVN、P4 中进行这种可怕的实践)...它会影响我们的 Git 服务器,并开始增加他们的构建时间...然后他们将其归咎于 IT。
您猜对了,我从事 IT 工作,是的...我们尝试过关闭和打开服务器。
我从我的Windows命令行使用cygwin,除了能够在后台运行某些东西(即放在&命令的末尾)之外,我总是非常愉快地完成所有事情.
为了给你更多的上下文,我希望能够启动一个Mercurial Web服务器,并且仍然能够继续使用命令行窗口,甚至关闭它而不会杀死服务器.例如:
>hg serve &
listening at http://localhost:8000/ (bound to *:8000)
>echo "Still able to do this"
Run Code Online (Sandbox Code Playgroud)
对此有任何解决方法吗?
我本质上是在寻找一种管理特定分支的写入权限的方法。
这可以在提交之前(本地),也可以在提交之后但推送之前(远程)。
我需要保护某些分支不被写入,以便强制执行发布分支只能由某些人编辑的工作流程。
所以我想创建3个插件,其中包括域类和一个宁静的服务,以及每个插件彼此构建的人.
从概念上讲,他们会以这种方式"继承"基础模型:
记录>人>用户
但是,我从"友好手册"中读到,继承可能会导致一些性能问题.
然后我突然想到,既然Groovy具有水平重用功能(即特征),我可以很好地定义特征中的所有内容,然后在域类中实现特征.
由于字段的重命名,以及IDE自动完成的便利性的丧失,编写域类不是我的选择.
我的两个问题是:
git ×3
command-line ×2
docker ×2
linux ×2
mercurial ×2
bash ×1
benchmarking ×1
cygwin ×1
filesystems ×1
grails ×1
grails-orm ×1
groovy ×1
joomla ×1
nginx ×1
perfarce ×1
php ×1
windows ×1