Чтобы добавлять сообщения и комментарии, .

@Linda-chan:
Linda-chan

warning: LF will be replaced by CRLF in youtube-dl-np-c0.sh.
The file will have its original line endings in your working directory.
По какому праву? OO

@trapdoor:
trapdoor

amend break

@glupovat:
glupovat

Типичный разговор о системах контроля версий:
— git лучше!
— чем лучше?
— чем svn!

@AlexVK:
AlexVK

@cancel составил очень неплохое руководство по git
blog.regolit.com
Не грех прорекламировать, практически то что надо

@vt:
vt

Накоммитил в гит, и забыл один файлик добавить в коммит. При этом файл уже трекался ранее (я его переместил). Я добавил его следующим коммитом, и потом сделал squash этих двух, гит ничего не понял и один файл удалил, другой добавил. Как сказать гиту "это не новый файл, это вон тот переименовался"?

@max630:
max630

github.com мне прямо неловко

@killy:
killy

Наткнулся на Git from the inside out (текст), понравилось.

Стало интересно, что происходит внутри при более сложных вещах — при редактировании истории. На ютубе есть ещё доклады, затрагивающие внутреннее устройство Гита, но они не идут сильно дальше этого.

Также захотелось увидеть что-то подобное про Mercurial. Видео не нашёл, и в процессе поиска вспомнил, что Меркуриал не задуман так, чтобы выставлять детали имплементации. Но если очень хочется, то официальная wiki — это наиболее содержательный источник информации. Начать удобнее всего оказалось с Mercurial for Git users и далее следовать по ссылкам на термины. В разделе Developer Info — Internals оказалось не густо.

На SO упоминаются статьи Behind the scenes и Towards a Better SCM: Revlog and Mercurial (гуглибельно, я не знаю нормальной ссылки), но они не слишком содержательны, по крайней мере на том уровне, на котором я хотел удовлетворить своё любопытство.

Одна деталь:
Аналогом команды git cat-file для просмотра внутренних бинарных файлов в Mercurial является подмножество команд hg debug*. Полный список дебажных команд удобнее получить через hg help debug.

@max630:
max630

нам пиздец irsi.point.im

@L29Ah:
L29Ah

A novice was learning at the feet of Master Git. At the end of the lesson he looked through his notes and said, “Master, I have a few questions. May I ask them?”

Master Git nodded.

“How can I view a list of all tags?”

“git tag”, replied Master Git.

“How can I view a list of all remotes?”

“git remote -v”, replied Master Git.

“How can I view a list of all branches?”

“git branch -a”, replied Master Git.

“And how can I view the current branch?”

“git rev-parse --abbrev-ref HEAD”, replied Master Git.

“How can I delete a remote?”

“git remote rm”, replied Master Git.

“And how can I delete a branch?”

“git branch -d”, replied Master Git.

The novice thought for a few moments, then asked: “Surely some of these could be made more consistent, so as to be easier to remember in the heat of coding?”

Master Git snapped his fingers. A hobgoblin entered the room and ate the novice alive. In the afterlife, the novice was enlightened.


stevelosh.com

@max630:
max630

github.com на секундочку, это официальный туториал

@max630:
max630

git add --edit, а вы говорите дальше что индекс не нужен

@rufuse:
rufuse

А как можно посчитать кумулятивное количество правок между двумя коммитами? У них разница в два года и меня интересует не статистика по прямому диффу, а именно сумма всех правок. Желательно еще по маске с расширением.

@L29Ah:
L29Ah

Что нажать чтобы git↔hg?

@amrok:
amrok

Ребзя, я чё-т затупил. Вот есть у меня рабочий сервере QNAP, наружу торчит даже. Есть на нём установленный через его вебморду git. Внимание, вопрос: что мне нужно сделать, чтобы перенести репозитории на сервер в git и обращаться к ним уже через гит-клиента? Вот представьте, что я от линукса знаю только про командную строку, а где что лежит и как настраивается не знаю. Куда сходить, что поставить, кому что прописать?

@Shchvova:
Shchvova

git не умеет
$ hg commit -S
lmao...

@segfault:
segfault

Я ведь правильно понял, что bookmarks в hg это ветки в git (причем, закладки в hg — локальные, их можно залить на удаленный репозиторий, но только в справочных целях, или хз) , теги — это теги, а ветки в hg — это вообще нёх. Каждый коммит типа помечается именем ветки, в результате ветка — это кусок графа коммитов, который может иметь несколько висячих голов, и есть специальные коммиты для "закрывания голов". Я представляю как это придумывалось, типа чтобы не терять код и не путаться в топологии веток, что от чего пошло, но вот у меня ветка с кучей голов, и что мне с ними делать? В гите эти головы будут просто именованными ветками, удалил ветку — "закрыл голову", а в hg и закладки не являются полноценными ветками, и ветки овердезайнутый кал.
Я всё верно понял?

@max630:
max630

pastebin.com вот поэтому и нельзя

а, да, и индекс не нужен же, зачем он

@Balancer:
Balancer

Блин, как меня достало каждый раз при заведении сложного репозитория ломать голову, Git@GitHub или Mercurial@Bitbucket. На первом коммьюнити и внешние инструменты. На втором — беспроблемная работа. Ну не осиливаю я логику Git. 60+ репозиториев на GitHub и каждый день(!) приходится ломать голову, как победить очередные проблемы с коммитами. В то время, как в Mercurial всё просто молча работает не вызывая проблем... Это уже даже не карма какая-то, это идеологическая несовместимость, видимо :) Что делать, блин...

@max630:
max630

смотрите чего гугль заебашил bitbucket.org будут пропихивать в апстрим

@LordFenring:
LordFenring

Вот нахрена люди делают постоянные ребейзы для правки истории? Это какой-то особо извращённый вид перфекционизма, когда люди хотят чтобы история коммитов показывала не историю коммитов а какую-то прилизанную хрень?

@max630:
max630

где-нибудь в интернете есть хорошее (да хоть какое-то) обьяснение что делать в случае "я взял зип в какой-то момент, как-то его поредактировал, теперь хочу влить его обратно"? Самому лень писать. Не гуглится вообще напрочь.

@segfault:
segfault

У меня есть два рефакторинга
1. Было перемещено много файлов в разные каталоги, много из перемещённых файлов еще и редактировались.
2. Массивных перемещений не было, но было много правок в существующих файлах, некоторые файлы были удалены, некоторые созданы
Хочу эти два рефакторинга смержить. Если конкретно, то хочу сказать гиту, что путь A теперь соответстует пути B, путь C соответствует пути D и так далее. Т.е. рефакторинг 2 произвести над теми же файлами в новых путях рефакторинга 1. Нечто вроде git merge -s recursive -X subtree=path но расширенное.

@lurker:
lurker

в твиттере советуют

@segfault:
segfault

У меня есть два состояния репозитория, один до рефакторинга, другой после. При рефакторинге много файлов было перемещено (целыми каталогми). Хочу чтобы git diff показал мне инфу в максимально сокращенном виде: какой каталог куда был перемещён без деталей по каждому файлу., ибо файлов слишком много.

@Linda-chan:
Linda-chan

Офигеть! Почитала вот это вот:
blog.refactoru.com
Немного переработала инструкцию и научилась коммитить без всяких реп папку на удалённый сервер. Посмотрим, насколько это будет удобнее зеркалирования через SFTP.

@Linda-chan:
Linda-chan

Вроде как git начал ложиться на извилины. У меня два вопроса: как проще всего побороть запрос пароля и как эту собаку заставить видеть ветки на сервере, а не угадывать их каждый раз?

@Linda-chan:
Linda-chan

Скачала портабельный git под Windows. Этот китайский танк за собой тянет MINGW32 и весь прочий кишлак. Запустила Баш – засрало мне AppData. Портабельность! Но! Вообще, прикольно, сижу, играюсь, разбираюсь, как оно всё «виртуализует».

@tuenut:
tuenut

Короче, потыкал в git и сделал себе репозиторий на github. Впервые, чсх.
Показывать пока нечего — накидал туда всякие наброски и хлам. Если будет что показать, я расскажу об этом вем этим людям, которым так важен мой говнокод.

@OCTAGRAM:
OCTAGRAM

Пытаюсь понять, как держать актуальную версию. В hg я делаю pull, потом update, и я знаю, что update по умолчанию либо обновит, либо пожалуется, что у меня закралась пакость в этом каталоге, и я при необходимость могу сломать эту пакость через колено, сделав принудительное обновление, и у меня будет свежая версия из репозитория. Про git в Интернете пишут, что git pull = git fetch && git merge, но я не хочу merge. Если у меня что–то поменялось, я не хочу это сливать, а хочу свежую версию из репозитория. Не понимаю. Может, надо было через hg-git работать и не мучиться с этим непонятным git.

@max630:
max630

m.reddit.com

@max630:
max630

переименовал и переписал. На хаскель, да. Пока никакого теорката, тупо преписал 1 в 1. Ну кроме алгоритма поиска оптимального пути, но там совсем трешак был. И он был покрыт тестами, так что с ним особо проблем не было. Вообще готовые тесты помогли, особенно интеграционные. Я так и оставил их на перле, тем более что HUnit, прямо скажем, по сравнению с Test::More посасывает.

Там ещё торчат нитки (Invalid arguments: []), но все тесты проходят, в том числе на виндовс. Буду пробовать уже в продакшене и потихоньку вернусь к фичам.

@SolderStain:
SolderStain

толпа бабуинов поработала с git-ом. в итоге ВСЕ и КАЖДЫЙ файл в рабочей копии содержит метки "<<<<<< HEAD" и "--------" и содержимое дважды. как покорректнее это исправить? пиздить бабуинов ногами не предлагать — это будет сделано, но позже.

@max630:
max630

в реддите всплыл старый пост про "git-push — Update remote refs along with associated objects", я подумал — а ведь никто, кто в ман заходит по делу, а не доебаться, наверное просто не обращал внимания никогда на эту строчку. Потому что ну ёпта, что делает пуш? Понятно что делает. Важно как он это делает, и как его вызывать, а это уже следующуе строчки.

@Strephil:
Strephil

Вот я написал быдлокод, сделал пару коммитов. Я не уверен, нужны ли эти коммиты или нет. Вроде, что с ними, что без них, примерно одинаково. Но скорее, всё-таки, нужны.
Возможно, мне хотелось бы иметь две версии, с ними и без них.

Как бы теперь лучше это оформить? Ветки тут вроде не то...
Может быть, есть какой-то способ обернуть пару коммитов в #ifdef?

@max630:
max630

latkin.org

@eof404:
eof404

Оба на, оказывается пихать в .gitignore инфу о файлах IDE или системы сборки не есть хорошо, юзаем глобальный игнор
help.github.com

@Hawat:
Hawat

opennet.ru Их-бы энергию, да в мирное русло...а так опять понабегут Хыпстеры и перепишу на каком-нибудь node.js(или что у них там в тренде сейчас)

@qnikst:
qnikst

после ребута vm-ки уменя git пишет, что not a git repository в репозитории, это как-то починить можно?

@sansentrailles:
sansentrailles

Решил таки git раскурить.

@lex2d:
lex2d

В общем, ситуация. Пишу код на двух машинах и гит там кроме самой системы контроля версий отвечает за синхронизацию данных между машинками.

И вот я работал над чем-то, закомитил перешел на другую машину и там продолжил и еще закомитил. И хотелось бы чтоб это был 1 комит, но вся эта хрень уже растянулась по 3-м репозитариям и начинается какая-то порнография. Аналогично с ветками. Чтоб нормально засинхронизировать ветки они должны попасть на сервер, а это лишняя работа ибо ветки такого типа, что на общий сервер попадать не должны, а должны оставаться в личном.

Собственно какие бест практис? Тягать код на флешечке?