ГитХабр: Свой коллективный Хабрахабр с блэк-джеками

в 11:25, , рубрики: Git, github, гитхаб, хабрахабр, Хабрахабр API, метки: , , ,

Первое погружение

image Я решил начать изучение распределённой системы управления версиями файлов GIT с веб-интерфейса Гитхаба. Причем, меня интересовала прежде всего такая теоретическая возможность: участие в коллективной разработке какого-нибудь маленького (но, очень ответственного) проектика, без необходимости установки какого-либо дополнительного программного обеспечения, ограничиваясь лишь веб-интерфейсом, доступным из любого браузера, и, быть может, встроенным Блокнотом (для, более комфортной правки исходного кода).

Гипотетически, весь проект мог бы при этом представлять собой один-единственный файл исходного кода, так, чтобы любой желающий всегда мог получить к нему доступ, а так же, после внесения правок, мог отправить запрос руководителю проекта на добавление сделанных исправлений в основную (или же, альтернативную) ветку проекта.

Дисклеймер

Я — ненастоящий программист, поскольку никогда не использовал в своей работе ни среды коллективной разработки, ни системы управления версиями, ни средства автоматизированного тестирования своих проектов, не говоря уж о том, что не вел какой-либо рабочей документации (за исключением, быть может, самых тривиальных комментариев внутри кода).

Просветвление

Но, Вот, настал тот час, когда я начал осознавать, как много я был лишен, и как была ограничена моя возможность создания по-настоящему качественного продукта.
Мой выбор пал на Гитхаб.
Регистрация на Гитхабе проходит не просто просто, а очень просто:

Github

https://github.com/signup/free

Username: githabr
Email Address: githabr@github.com
Password: *******
Confirm Password: *******

Кстати, при регистрации, можно указать и вымышленный E-Mail адрес, поскольку он никак не проверяется, и на него никакие подтверждения и никакие рассылки не отправляются. Главное чтобы он был глобально-уникальным в пределах гит-хаба.

Далее, так же легко, создаем новый репозиторий для проекта:

Гитхабр

https://github.com/new

Repository name: habrahabr
Description (optional): Хабрахабр
[x] Initialize this repository with a README

Установка последнего чекбокса позволит автоматически вставить в проект README-файл с марк-дауновской разметкой.

Викихабрия

https://raw.github.com/githabr/habrahabr/master/README.md

habrahabr
=========

Хабрахабр

Кстати, этот файл потом легко редактируется прямо на сайте через веб-форму.

Узрев такую возможность, я быстренько смекентил, что подобным образом можно публиковать исходные тексты черновиков статей, которые в последствии планируется опубликовать на Хабре.
Это так же, и, после публикации даст возможность любому заметившему опечатку или неточность в тексте сразу же загитхабить исправление, чтоб не мусорить в комментах, и не писать в личку. Причем, такая возможность будет доступна абсолютно любому читательу, включая Read-Only контакты (у которых нет возможности ни коммент отправить, ни в личку написать), раскрывая тем самым гораздо больше возможностей для дальнейшего улучшения качества опубликованного материала.

Фактически, я предлагаю переводить все хабрапубликации в опен-сорс.

Кстати, такой вот вопрос: как вообще, в принципе на Хабре можно показать свой черновик статьи конкретному человеку (а, в идеале хотелось бы просто открыть для просмотра своим друзьям из списка добавленных друзей) перед его публикацией? Ну, не делать же скрин-шоты предпросмотра в самом-то деле!

Мой же, предлагаемый подход с расшариванием исходников позволяет решить проблему предпросмотра, путем простого «скармливания» расшаренного кода Хабрапарсеру, например, через тот же веб-интерфейс песочницы Хабра.

Итак, попробуем теперь что-нибудь залить на гит-хаб:

Загрузка

https://github.com/githabr/habrahabr/downloads

Upload a new file

<> Choose a new file: c:githabr1.txt
Short Description: test

Все. Теперь файл доступен всему миру:

http://cloud.github.com/downloads/githabr/habrahabr/1.txt

Кстати, при этом он раздается по протоколу HTTP (а не HTTPS), что имеет свои плюсы в некоторых случаях.

HTTP/1.0 200 OK
x-amz-id-2: 9CR8MvvocEfjYL/99TjOf2yPogURMenmPl/SVTfDwS8ForBAZ1+ahMY1BH3bm+LJ
x-amz-request-id: D7AAFEFF905C59E4
Date: Fri, 08 Jun 2012 10:32:58 GMT
Last-Modified: Tue, 05 Jun 2012 10:27:01 GMT
ETag: "9fe7b2cc8b758cb05cd9dfbae8a825bb"
Accept-Ranges: bytes
Content-Type: text/plain
Content-Length: 443
Server: AmazonS3
X-Cache: Miss from cloudfront
X-Amz-Cf-Id: 0zpTMVSKtrVzBYTgxYS1RKFeVmcmHfj7a2LCIKwW3tvNK66tYhSN_w==,LQ9Uc46keGuXp2jnljH0SlmgtKFjenOn17raP2sYQckYh2fNg3HP2Q==,s7ibZDVHTSpJ0oGasHniYoU4QomnmfJ2x-3prHbYWfO4yi9PaGvgIQ==
Via: 1.0 c1639d907cade557ebff29e5be78b0b6.cloudfront.net (CloudFront)
Connection: close

Этот файл отображается в разделе
Manage Downloads

И, все вроде бы чики-пуки, но, непонятна одна вещь: загруженный таким способом файл попал в «облако», а, не в «мастерскую ветку». То есть, в отличие от README-файла, у меня почему-то нет возможности его так же легко отредактировать через веб-форму.

Ну, да ладно: для этого своего поста http://habrahabr.ru/post/145302/ я так же залил в облако его исходник:

http://cloud.github.com/downloads/githabr/habrahabr/145302.txt

А, дальше?

Дальше не знаю что делать. Может кто подскажет добрым советом?
Мне теперь нужно как-то этот загруженный файл суметь прицепить к мастерской ветке, и дать возможность апдейтить его любому желающему.

Ссылки

Как начать работать с GitHub: быстрый старт

Автор: 1010101001000100110100111

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js