Как стать автором
Обновить

Комментарии 31

Что-то какая-то беда с авторизацией в Gist после обновления. На github нормально авторизуюсь, а в Gist не могу.
Гитхабу и другим хостингам кода не хватает, как я считаю, более продвинутого анализа кода.
По-моему, было бы просто замечательно переходить по Ctrl или F12 на определение того или иного метода, свойства, и т.д., описанных в другом файле, как в Visual Studio.

А еще круче — это API по исходному коду. Чтобы можно было прямо вставлять на stackoverflow и другие сервисы куски кода из github. Ну и также естественно прямо по Ctrl + Click или F12 переходить на их определения. Т.е. получится тесная интеграция Q&A сайтов, форумов с сервисами хостинга кода. Мне кажется в этом направлении будут развиваться постепенно данные сервисы.
Ну лично у меня никогда небыло надобности встроить кусок кода(который возможно изменится) из репозитория.
Если нужно показать код прямо в репозитории, можно отправить ссылку на конкретнуый файл, и на нужную строку кода.
Если надо встроить кусок кода — для этого и есть Gist.
Репозиторий на то и репозиторий, что в нем данный кусок кода никогда не изменится. Отвечая на вопрос на SO, хочется пойти на github, найти то, что нужно, — и сказать копи-паст.
Не правда. Иногда бывают случаю, когда история меняется.
ЛОЛШТО?

Система контроля версий с необратимыми изменениями?
Не системой, конечно, а пользователем.
git filter-branch, git rebase и т.д.

Соответственно при смене истории меняются хеш-суммы всех коммитов, которых затронуло изменение.
И что?

Вы вообще читали комментарий, на который я отвечал? Не нужно пытаться мне доказать, что существуют системы контроля версий, в которых нельзя сослаться на кусок кода от определенной даты.
Файл «А», Дата «Б», Бранч «В», Строки «Г-Д» — однозначно задает кусок кода, который вы никакими ребейзами изменить не сможете. Именно такую ссылку и предлагается генерировать API, чтобы проще было вставлять в gist.

Читал.

Файл «А», Дата «Б», Бранч «В», Строки «Г-Д» — однозначно задает кусок кода

Я как раз говорю, что историю изменить можно. Так что не однозначно.
Мы оба говорим про сценарий push⇒rebase⇒push? Если да, то каждый push будет аккуратно запротоколирован головным гитом (гитхабом в нашем случае), и второй push можно будет откатить.
Если нет — то понятно, что коммит в гите значит не больше, чем ":w" в виме ;-)
Я говорю о специальном случае, например удаление случайно запротоколированного секретного файла из всех коммитов, или удаление определенно коммита из истории.

Все это можно выполнить используя стандартную возможность изменения истории git filter-branch.

Конечно эти случаи очень специфичны, но я хотел указать на то, что история может меняться.
Типа, пришел PJ Hyett, воткнул клавиатуру в слот с вашим репозиторием и зафильтровал все к дедам? Вы (к счастью) не можете вот так взять и поменять хистори в чужом репозитории, вы туда только пуш можете сделать в лучшем случае. А гитхаб для вас — чужой апстрим.

Тогда уж проще обсудить вариант удаления проекта с гитхаба.
git push -f для слабаков? Ну, само собой, рассово неверный подход, но он имеет место быть.
Ой.

Спасибо, вы мне открыли глаза (не сказать, что это сильно полезно, про --force флаги в 99% случаев лучше совсем не знать). Я, грешным делом, был уверен, что внутри себя апстрим сохранит итерацию «меня заставили все поменять с этого на это». Но, поверхностно глядя на дельты, приходится убедиться: вы правы. Трет, гад, не поперхнувшись.

Не знаете, случайно, а меркуриалы — тоже так себя ведут? Это же кошмар же. Учитывая, что, насколько я понимаю, невозможно разделить права на push и push -f.

Это может работать так: внутри команды все договариваются форсануть и слить форсанутую ветку себе, а затем хранить молчание по поводу произошедшего. И никогда никому не признаваться в том, что --force имел место быть.

Но да, в 99% случаев лучше притворяться, что такого ключа не существует. Особенно, когда хочется пушнуть без указания конкретной ветки и в конфиге содержится провал, вроде git config push.default matching.
Когда и как это бывает, я понимаю :-)

Я не понимаю, почему ошибка раздающего права́ может привести к потере репозитория. Можно же было что-то наподобие «зашифровать „особенным“ ключом и не показывать вплоть до особого распоряжения» сделать.
Так нет. Я не смог отыскать (в исходном коде, насколько могу судить, не предусмотрено), как я могу на своем апстриме сказать «пусть все пушат, но полную историю мне при случае отдай».

Причем, я был настолько уверен в том, что оно — так (исходя исключительно из здравого смысла), что комментируя начало ветки даже проверять не полез.
На gistflow как-то реализована вставка кода с гистов — так что такое API уже есть, я полагаю.
В API то функционал такой есть, а вот в интерфейсе не реализовано еще.
Я вообще пользуюсь плагином для Sublime Text 2. Он создает gist из выделенного текста.
На гитхабе вход выполнен, а на гист захожу — там я не залогинен. Жму войти — вываливается «OAuth failure»… сколько ни пытался — все так зайти и не могу…
Еще через 90 дней перестанет действовать DownloadAPI и Загрузка файлов. Ну архивами можно будет качать, но не будет секции Downloads, куда загружали файлы с компьютера. Вернее этот функционал уже убрали, но загруженные ранее файлы будут храниться в течение 90 дней. В дальнейшем рекомендуется использовать что-нить типа Amazon s3.
А еще вот недавно ссылка на настройки репозитория называлась Admin а сейчас Settings )
Возможности переопределить тип файла как не было, так и нет. Лучше б реальные проблемы решали вместо того, чтоб менюшки перерисовывать.
git clone https://gist.github.com/4262511.git
cd 4262511/
mv stuff.rb stuff.cpp
git commit -am 'Change file extension'
git push

gist.github.com/4262511/revisions

Все правильно сделали.
Видимо, шеллскриптов вы никогда не писали. Если что-то не нужно лично вам, это еще не значит, что это не нужно никому.
Может быть я неправильно Вас понял?
Это Уолтер Уайт на последней картинке? =)
Да :) хочу футболку с этим октокотом
Что-то в новом убраны фичи, которые были _мне_ полезны… Ну вот.
Какие?
Скриншотов не осталось… Расстояние между элементами было меньше — справа в колонке отображалось больше моих gist'ов, чем сейчас вверху.
Список ревизий отображался сразу.

А теперь приходится кликать, кликать, кликать…
Например, таким простым образом распространяется перформанс-патч для руби
А что, его автору было настолько влом, что отдельного репозитория этот патч не заслужил?
Давно хочется выделение и комментирование диапазона строк. paste.in.ua/7816/#2:3 — как пример.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории