Channel: Dev Tools
DeepGit: refs
Блок 1
В крайней статье, мы смогли построить полноценное дерево коммитов.
Была единственная проблема в том, что нам надо было передать hash последного коммита.
В папке
Чтобы создать референс в git нужно сделать следующее:
мы можем использовать
Базовый функционал ссылок это и есть наши git branches.
Для того что-бы "создать" ветку, достаточно просто связать ее название с крайним хешом коммита.
Через крайний хеш коммита уже можно воссоздать полностью дерево.
Блок 1
В крайней статье, мы смогли построить полноценное дерево коммитов.
Была единственная проблема в том, что нам надо было передать hash последного коммита.
В папке
.git/refs
хранятся файлы которые хранят в себе хеш коммита. Чтобы создать референс в git нужно сделать следующее:
echo "<hash>" > .git/refs/heads/<name>Ну или используя более безопасное решение:
git update-ref refs/heads/<name> <hash>Теперь вместо просмотра дерева через
git log <commit-hash>
мы можем использовать
git log master
.Базовый функционал ссылок это и есть наши git branches.
Для того что-бы "создать" ветку, достаточно просто связать ее название с крайним хешом коммита.
Через крайний хеш коммита уже можно воссоздать полностью дерево.
DeepGit: HEAD
Забыл в последней статье упомянуть про HEAD.
В файле
С помощью команды
Можно ставить HEAD.
Теперь можно полностью понять как работает
И дальше уже проходим по blob-ам, и записываем туда версии.
P.S Это весьма топорная реализация
Впереди нас еще ждет статья про
Забыл в последней статье упомянуть про HEAD.
В файле
.git/HEAD
лежит ссылка на рефернс. 09:32:21 in tmp/git_/first on master •99%
➜ cat .git/HEAD
ref: refs/heads/master
С помощью команды
git symbolic-ref HEAD refs/heads/<branch_name>
Можно ставить HEAD.
Теперь можно полностью понять как работает
git checkout <branch>
.cat .git/HEAD
cat <ref_path>
git cat-file -p <commit_hash>
git cat-file -p <tree_hash>
И дальше уже проходим по blob-ам, и записываем туда версии.
P.S Это весьма топорная реализация
git checkout
, на самом деле все работает немного иначе.Впереди нас еще ждет статья про
pack
файлы и про то, как git оптимизирует хранение файлов.Git unstaged diffs
Недавно наблюдал как знакомый использовал
Для того чтобы убрать unstaged diffs в git.
Для этих целей пользую обычно
Все варианты делают почти одно и тоже.
Ну только стеш еще и сохраняет изменения.
Одинаковую задачу в git можно решить огромным количеством способов.
Как ты обычно чистишь ненужные изменения? Может есть еще какие-то варианты?
Го в наш чат - @developer_tools_chat
Недавно наблюдал как знакомый использовал
git diff | git apply --reverse
Для того чтобы убрать unstaged diffs в git.
Для этих целей пользую обычно
git stashили иногда
git checkout .
Все варианты делают почти одно и тоже.
Ну только стеш еще и сохраняет изменения.
Одинаковую задачу в git можно решить огромным количеством способов.
Как ты обычно чистишь ненужные изменения? Может есть еще какие-то варианты?
Го в наш чат - @developer_tools_chat
Brave, Bat и при чем тут черное зеркало
Basic Attention Token или Bat - продукт по рекламному продвижению на базе крипты.
Я давно смотрел в сторону Brave, но как-то не доходили руки разобраться в чем там дело.
- Внутренний adblocker
- Tor
- Bat
BAT это решение по показе рекламы без нарушения вашей анонимности.
Как это работает:
Рекламодатель размещает публикации, которые попадают в общий каталог реклам.
Пользователь Brave выбирает рекламу из каталога и показывает ее вам.
Вы получаете бонусы за просмотр или взаимодейсвие с рекламой, которые потом можно вывести на кеш или задонатить.
Из важного: ваши данные никогда не покидают ваш девайс, вся аналитика происходит исключительно на вашем пк без отправки ее на сервера.
Basic Attention Token или Bat - продукт по рекламному продвижению на базе крипты.
Я давно смотрел в сторону Brave, но как-то не доходили руки разобраться в чем там дело.
- Внутренний adblocker
- Tor
- Bat
BAT это решение по показе рекламы без нарушения вашей анонимности.
Как это работает:
Рекламодатель размещает публикации, которые попадают в общий каталог реклам.
Пользователь Brave выбирает рекламу из каталога и показывает ее вам.
Вы получаете бонусы за просмотр или взаимодейсвие с рекламой, которые потом можно вывести на кеш или задонатить.
Из важного: ваши данные никогда не покидают ваш девайс, вся аналитика происходит исключительно на вашем пк без отправки ее на сервера.
gh
gh cli - после многочисленных реализаций cli для github-a, он решил выпустить свой.
На странице в гитхаб его сравнивают с hub.
Ссылка.
Попробов, я не нашел ничего нового.
Просмотр задач, пр и прочее уже все давно написано.
gh cli неплохой вариант если не пользуете никакой врапер на гитом.
Особо причин переходить на него не вижу.
Надеюсь в дальнейшем для него сделают что-то уникальное.
gh cli - после многочисленных реализаций cli для github-a, он решил выпустить свой.
На странице в гитхаб его сравнивают с hub.
Ссылка.
Попробов, я не нашел ничего нового.
Просмотр задач, пр и прочее уже все давно написано.
gh cli неплохой вариант если не пользуете никакой врапер на гитом.
Особо причин переходить на него не вижу.
Надеюсь в дальнейшем для него сделают что-то уникальное.
Codespace VS Gitpod
Github запустил регистрацию на ранний доступ к браузерной IDE на базе VSCode - Codespaces.
Мне раньше не приходилось натыкаться на браузерные IDE, потому считал Codespaces - новинкой на рынке.
Оказалось что довольно давно и успешно существуют решения вроде GitPod.
Как получу доступ к Codespaces смогу сделать сравнение этих двух IDE.
В целом: браузерные IDE - прикольная игрушка.
Возможность редактирования файлов доступна и сейчас, а код писать все продолжат локально.
Думаю Codespace станет просто красивой оберткой над уже существующими возможностями Github-a.
Что думаете по поводу браузерных IDE? Есть у них будущее? Зачем они нужны?
Го в чат -> https://hottg.com/developer_tools_chat
Github запустил регистрацию на ранний доступ к браузерной IDE на базе VSCode - Codespaces.
Мне раньше не приходилось натыкаться на браузерные IDE, потому считал Codespaces - новинкой на рынке.
Оказалось что довольно давно и успешно существуют решения вроде GitPod.
Как получу доступ к Codespaces смогу сделать сравнение этих двух IDE.
В целом: браузерные IDE - прикольная игрушка.
Возможность редактирования файлов доступна и сейчас, а код писать все продолжат локально.
Думаю Codespace станет просто красивой оберткой над уже существующими возможностями Github-a.
Что думаете по поводу браузерных IDE? Есть у них будущее? Зачем они нужны?
Го в чат -> https://hottg.com/developer_tools_chat
Довольно часто получаю фидбек по каналу.
Спасибо всем кто пишет критику и рекомендации.
Периодически приходят просьбы об изменении формата видео.
К этому посту прикрепляю другую версию видео из крайней публикации. В ней больше акцентов, есть возможность делать паузы и перемотки.
Обсудить канал, как всегда, можно в чате или написав мне в личку: @bogbel .
А поддержать молодого инфлюенсера(меня) можно
через ЯндексДеньги по ссылке: https://money.yandex.ru/to/410017713757333
или
Монобанк: 4441114444687642
(Может когда-то доберусь до патреона, но это не точно)
Надеюсь канал вам по душе и вы черпаете от сюда что-то полезное)
P.S. Проголосуйте плз за формат видео который вам зашел больше.
Спасибо всем кто пишет критику и рекомендации.
Периодически приходят просьбы об изменении формата видео.
К этому посту прикрепляю другую версию видео из крайней публикации. В ней больше акцентов, есть возможность делать паузы и перемотки.
Обсудить канал, как всегда, можно в чате или написав мне в личку: @bogbel .
А поддержать молодого инфлюенсера(меня) можно
через ЯндексДеньги по ссылке: https://money.yandex.ru/to/410017713757333
или
Монобанк: 4441114444687642
(Может когда-то доберусь до патреона, но это не точно)
Надеюсь канал вам по душе и вы черпаете от сюда что-то полезное)
P.S. Проголосуйте плз за формат видео который вам зашел больше.
NoCoin no Profit?
Перебирая материал на канал наткнулся на репозиторий NoCoin.
NoCoin - браузерное расширение которое блокирует майнинг крипты на сайтах.
Конкретно он уже не работает, как и сайт с майнерами на который он ссылался (Coinhive),
Майнинг происходит c помощью js скрипта который запускается при загрузке страницы и начинает садить вам CPU пока вы находитесь на странице.
Сейчас есть решения вроде coinimp и crypto-loot.
На сайтах они позиционируются как альтернативная монетизация сайта.
Что вы думаете по этому поводу?
Как вы относитесь к тому что сайт майнит крипту за ваш счет?
Перебирая материал на канал наткнулся на репозиторий NoCoin.
NoCoin - браузерное расширение которое блокирует майнинг крипты на сайтах.
Конкретно он уже не работает, как и сайт с майнерами на который он ссылался (Coinhive),
Майнинг происходит c помощью js скрипта который запускается при загрузке страницы и начинает садить вам CPU пока вы находитесь на странице.
<script src="https://coin-hive.com...coinhive.min.js">
<script>
var miner = new CoinHive.Anonymous('token');
miner.start
</script>
Сейчас есть решения вроде coinimp и crypto-loot.
На сайтах они позиционируются как альтернативная монетизация сайта.
Что вы думаете по этому поводу?
Как вы относитесь к тому что сайт майнит крипту за ваш счет?
ElasticSearch Head
Браузерное расширение со сносным UX, которое позволяет работать с кластером невыходя из браузера.
В доступности:
- построение запросов через фильтры с плашками ;
- написание ручных запросов;
- работа с индексами.
UX как по мне - кошмар, но лучшего решения я не нашел.
github
Браузерное расширение со сносным UX, которое позволяет работать с кластером невыходя из браузера.
В доступности:
- построение запросов через фильтры с плашками ;
- написание ручных запросов;
- работа с индексами.
UX как по мне - кошмар, но лучшего решения я не нашел.
github
gitql - очень странный микс sql и git.
Позволяет делать sql запросы по дереву коммитов.
Незнаю зачем, но если писать запросы sql для вас привычнее чем интерфейс git - вот ссылка.
Позволяет делать sql запросы по дереву коммитов.
select * from commits
select author, date from commits where "diff" in full_message
Незнаю зачем, но если писать запросы sql для вас привычнее чем интерфейс git - вот ссылка.
«Появились картинки, которые выводят Android-смартфоны из строя»
Эта новость завирусилась в куче телеграмм каналов, техноблогов, а началось все с поста в твитер.
Проблема, скорее всего, в невозможности представить некоторые цвета в RGB цветовой модели.
Баг уже был зарепорчен в android support и было написано решение.
Что думаете по поводу такого формата?
Чат - https://hottg.com/developer_tools_chat
Эта новость завирусилась в куче телеграмм каналов, техноблогов, а началось все с поста в твитер.
На некоторых андроид устройствах эта картинка крашит телефонВот ссылка на картинку: https://drive.google.com/file/d/11rxzYvPcIOh_8GvS4XSC3YtbW3CecE-O/view
Проблема, скорее всего, в невозможности представить некоторые цвета в RGB цветовой модели.
Баг уже был зарепорчен в android support и было написано решение.
int y = Color.red(pixel) + Color.green(pixel) + Color.blue(pixel);Стало
int y = Color.red(pixel) + Color.green(pixel) + Color.blue(pixel);Пока разработчики ответили что решат проблемы самостоятельно.
if (y > 255) y = 255;
Что думаете по поводу такого формата?
Чат - https://hottg.com/developer_tools_chat
lazygit
simple terminal UI for git commands
lazygit - консольный UI для git.
В целом неплохо.
Тут легко можно добавлять файлы, смотреть дифы по файлам, решать конфликты, сквошить итд.
Я часто пользую UI интрументы для решения конфликтов в git, тут это делать не сложно.
Если смотрите cli для git - lazygit неплохой вариант.
simple terminal UI for git commands
lazygit - консольный UI для git.
В целом неплохо.
Тут легко можно добавлять файлы, смотреть дифы по файлам, решать конфликты, сквошить итд.
Я часто пользую UI интрументы для решения конфликтов в git, тут это делать не сложно.
Если смотрите cli для git - lazygit неплохой вариант.
npkill
remove old and heavy npm modules
npkill - инструмент для удаления
Я не особо пользуюсь
В npkill их легко посмотреть и удалить.
Из плюсов - можно не ставить его в систему, а просто запустить через
remove old and heavy npm modules
npkill - инструмент для удаления
npm
пакетов.Я не особо пользуюсь
npm
и js
, но когда записываю статьи то часто устанавливаю какие-то пакеты.В npkill их легко посмотреть и удалить.
Из плюсов - можно не ставить его в систему, а просто запустить через
npx npkillМаксимально удобный инструмент для своих целей.
hstr - от англ. history, инструмент для просмотра истории команд.
Я просто довольно крепко врос в fzf, и потому даже не беру обычно на обзор альтернативы)
Из плюсов hstr
- очень прост в пользовании
- сравнительно с fzf проще ставится в систему
- огромный список поддерживаемых систем
В плане UX - ничего нового, дело вкуса.
Я просто довольно крепко врос в fzf, и потому даже не беру обычно на обзор альтернативы)
Из плюсов hstr
- очень прост в пользовании
- сравнительно с fzf проще ставится в систему
- огромный список поддерживаемых систем
В плане UX - ничего нового, дело вкуса.
fkill
Fabulously kill processes
fkill - cli для "убийства" процессов.
Я раньше пользовался связкой fzf + kill -9 но альтернатива в виде npm пакета выглядит свежо и красиво.
Рекомендую попробовать.
Fabulously kill processes
fkill - cli для "убийства" процессов.
Я раньше пользовался связкой fzf + kill -9 но альтернатива в виде npm пакета выглядит свежо и красиво.
Рекомендую попробовать.
Привет)
Давайте снова обсудим какие темы вам интересны (можно выбрать несколько):
Давайте снова обсудим какие темы вам интересны (можно выбрать несколько):
Anonymous Poll
55%
Консольные инструменты
28%
Браузерные расширения
39%
Информационная безопасность
43%
Разбор базовых технологий
24%
Все ок
2%
Прочее(напишу в чате)
Rocket Redis
Первый на моей памяти UI для редиса.
Очень странно, технология популярная, а сносного клиента для него нет (вроде).
По функционалу очень пусто.
Можно держать несколько баз и подключений, но ничего кроме просмотра пока тут нет, только надежды)
Мне, на самом деле, не хватало окна в котором можно легко посмотреть что лежит внутри ключей, не запоминая для этого соответствующие команды, для каждого типа данных.
Надеюсь технология будет развиваться и в скором времени нам предложат запись и изменения хранилища.
Первый на моей памяти UI для редиса.
Очень странно, технология популярная, а сносного клиента для него нет (вроде).
По функционалу очень пусто.
Можно держать несколько баз и подключений, но ничего кроме просмотра пока тут нет, только надежды)
Мне, на самом деле, не хватало окна в котором можно легко посмотреть что лежит внутри ключей, не запоминая для этого соответствующие команды, для каждого типа данных.
Надеюсь технология будет развиваться и в скором времени нам предложат запись и изменения хранилища.
Espanso
Cross-platform Text Expander written in Rust
Меня, как дикого любителя шорткатов, расширений и прочего очень заинтересовал проект Espanso.
Espanso читает твой текст с клавиатуры и, когда ты вводишь кейворд, ранит какой-то скрипт.
Красивые примеры есть на сайте.
Но, как оказалось, я весьма устарел сидя на 16 убунте. Относительно свежий openssl 1.1 не становится мне в систему.
На самом деле, не видел похожих проектов ранее, не знаюб что у них по безопасности и юзабилити, но выглядит интересно.
Что думаете по поводу таких софтов?
Го в чат -> @developer_tools_chat
Cross-platform Text Expander written in Rust
Меня, как дикого любителя шорткатов, расширений и прочего очень заинтересовал проект Espanso.
Espanso читает твой текст с клавиатуры и, когда ты вводишь кейворд, ранит какой-то скрипт.
Красивые примеры есть на сайте.
Но, как оказалось, я весьма устарел сидя на 16 убунте. Относительно свежий openssl 1.1 не становится мне в систему.
На самом деле, не видел похожих проектов ранее, не знаюб что у них по безопасности и юзабилити, но выглядит интересно.
Что думаете по поводу таких софтов?
Го в чат -> @developer_tools_chat
HTML Embed Code: