Вы также можете попробовать это, если не хотите App.js:
import React from 'react';
import ReactDOM from 'react-dom';
const App = () => {
return (<h1>HELO WORLD</h1>);
}
ReactDOM.render(<App />, document.getElementById('test'));
Когда именно возникла проблема? Когда они зафиксировали файл изначально или когда его отправили в другое место? Если у вас есть промежуточное репо, на которое все нажимают, вы можете реализовать ловушку обновления для сканирования изменяющихся ссылок для больших файлов, наряду с проверкой других разрешений и т. Д.
Очень грубый и готовый пример:
git --no-pager log --pretty=oneline --name-status $2..$3 -- | \
perl -MGit -lne 'if (/^[0-9a-f]{40}/) { ($rev, $message) = split(/\s+/, $_, 2) }
else { ($action, $file) = split(/\s+/, $_, 2); next unless $action eq "A";
$filesize = Git::command_oneline("cat-file", "-s", "$rev:$file");
print "$rev added $file ($filesize bytes)"; die "$file too big" if ($filesize > 1024*1024*1024) }';
(просто идет чтобы показать, все можно сделать с помощью однострочного Perl, хотя это может занять несколько строк;))
Вызывается так же, как вызывается $ GIT_DIR / hooks / update (аргументы - это ref-name, old-rev, new-rev; например, "refs / Heads / master master ~ 2 master") это покажет добавленные файлы и прервёт работу, если добавлен слишком большой.
Обратите внимание, что я бы сказал, что если вы собираетесь полиции такого рода вещи, вам нужен централизованный пункт, в котором это можно сделать.
Вы можете распространить ловушку перед фиксацией, которая предотвращает фиксации. В центральных репозиториях у вас может быть ловушка предварительного получения, которая отклоняет большие двоичные объекты, анализируя полученные данные и предотвращая обращение к ним. Данные будут получены, но, поскольку вы отклоняете обновления ссылок, на все новые полученные объекты не будут ссылаться и их можно будет забрать и сбросить с помощью git gc.
Однако у меня нет сценария для вас.
Если у вас есть контроль над цепочкой инструментов ваших коммиттеров, может быть несложно изменить git commit, чтобы он выполнял проверку разумности размера файла до «реального» коммита. Поскольку такое изменение в ядре будет обременять всех пользователей git при каждой фиксации, а альтернативная стратегия «изгнать любого, кто захочет внести изменение в 1,5 ГБ» имеет привлекательную простоту, я подозреваю, что такой тест никогда не будет принят в ядре. Я предлагаю вам взвесить бремя поддержки локального форка git - nannygit - с бременем восстановления разбитого git после чрезмерно амбициозного коммита.
Должен признаться, мне любопытно, как возникла фиксация 1,5 ГБ. Речь идет о видеофайлах?