to post messages and comments.

@segfault:
Git

Если ты хочешь сделать `git reset --hard` и у тебя есть изменённые файлы, подумай дважды, тебе скорее всего нужен `git reset --merge`, или даже `git reset --mixed`.

@blacklion:
Git

Как вы понимаете вот это из man gitignore

If the pattern does not contain a slash /, Git treats it as a shell glob pattern and checks for a match against the *pathname relative to the location of the .gitignore file* (relative to the toplevel of the work tree if not from a .gitignore file).

Я так понимаю (пометил звёздочками) что просто "foo" в top-level .gitignore должно матчить только foo в руте. Т.е. "foo" матчит /foo но не /a/foo (от рута рабочего дерева, не файловой системы, понятно).
Но эксперимент показывает, что матчит где кгодно в дереве.

Я плохо понимаю man или это баг в man?

@max630:

Дорогой гитхаб, пожалуйста поменяй свой network graph на нормальный, ну или просто не мучайся и убери этот пиздец с глаз нахуй долой, потому что всё равно я не редставляю чтобы это кто-нибудь использовал, а неопытные люди случайно это увидев, начинают испытывать ненужные эмоции.

@den-po:
Git

а есть для git софтина, умеющая отображать дерево версий так же наглядно удобно, как в clearcase? всё, что пробовал, довольно примитивно =(

@max630:
Git

gist.github.com вот тут написалось

@Strephil:
Git

Почему-то я оказался в ситуации отрезанной головы. У меня есть два коммита, которые не входят ни в какую ветку. При этом в той ветке, где они должны быть, никаких дополнительных коммитов нет. История коммитов примерно такая:

a --- [b <нужная ветка>] --- c --- [d <HEAD>]

Я же хочу, чтобы это просто была одна ветка. Что я могу сделать? Создать новую ветку, поместить туда коммиты c и d, потом переключиться на нужную ветку и замержить новую.
А нельзя ли просто переместить указатель нужной ветки на коммит d? Какой командой?

@killy:

Есть один репозиторий...

$ git push origin <branch>
...
Counting objects: 25, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (23/23), done.
Writing objects: 100% (25/25), 4.02 KiB | 0 bytes/s, done.
Total 25 (delta 13), reused 0 (delta 0)
_

Курсор мигает, команда не завершается, больше ничего не происходит. Разумеется, чего не запушилось.

Если сделать свежий клон, ничего не коммитить и только бранч обновить/создать, то получается так:

$ git push origin <branch>
...
Total 0 (delta 0), reused 0 (delta 0)
_

С тем же безуспешным результатом.

Изучены
stackoverflow.com
stackoverflow.com
stackoverflow.com
stackoverflow.com
reddit.com

Испробовано:
* push -u;
* разные версии git и разные гуи;
* запуск на другом ПК через другого провайдера;
* манипуляции с MTU;
* что-то ещё.

Не испробовано:
* sudo chown -R git.git /srv/git/ на сервере. Но если это, видимо, только у меня не работает, то маловероятно, что проблема с правами?

Если не найду причину, останется только патчи по почте слать.

@lex2d:

Микрософт на гит перешла. Балмера на них нет.
blogs.msdn.microsoft.com
arstechnica.com

@ishe:

bitbucket выкатил обновленный интерфейс. как-то подозрительно они зашевелились последнее время, начали что-то делать. а то вообще застой полный был

@Strephil:

Чят, привет. У меня в быдлокоде есть два байта, в которых может храниться версия программы. Как бы прикрутить сюда git, чтобы эти байты как-то соответсвовали коммитам?
Может быть, как-то время коммита туда засунуть?..

@max630:

stackoverflow.com

git merge -Xtheirs --squash $source_branch -m "$commit_message"'
a.k.a "я тупой, я не хочу резолвить конфликты". И таких сотни же

@glupovat:

.

@glupovat:

.

@blacklion:

Я с этим git'ом поседею. Как я добился вот такого и, главное, что теперь делать?

% git status
On branch bugfix/MDD-1934-XXXX
Your branch is ahead of 'origin/bugfix/MDD-1934-XXXX' by 2 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean

% git push
Everything up-to-date
%

@Darwin:
Git

a bit about git:
atlassian.com
chris.beams.io
johnkary.net

@max630:
Git

public-inbox.org хухух

@L29Ah:
Git ?

Жила-была строчка кода, работала збс. Через тыщу коммитов её не стало или она изменилась до неузнаваемости. Что нажать чтобы узнать когда конкретно она так изменилась, не дроча руками бисект?

@max630:
Git

занимательное чтиво docs.google.com

букинг.ком, а? Кто бы мог подумать...

@ermine:
Git

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

@fillest:
Git ?

нужно зафорсить, чтобы у всех на всех ОС были во всех текстовых файлах переносы LF. "* text=auto core.eol=lf core.safecrlf=true" в .gitattributes сработает? "core.safecrlf" вообще можно там использовать? Ебанашки-авторы ведь сделали, чтоб там можно было написать что угодно, т.е. на sgushyonka=atyatya оно не ругнётся. В "git check-attr --all ." результат отображается.

@kitt:

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

@max630:

I push a file to a remote repo and get a merge conflict error. I know my file is totally correct — there's no need to look through the code, I just want to overwrite the remote file with mine

@IPShuvaev:

I found a workaround (but it will only work on windows).
Start git daemon with verbose from cmd.exe:
"C:\Program Files\Git\bin\sh.exe" --login -i -c 'git.exe daemon --verbose '
Not tested, if it works directly in git bash. Maybe it will.
Then (before starting any clone, pull, fetch,...) select some text in the window (note: "Quick Edit Mode" must be enabled (can be found in: cmd.exe --> Properties (click the top left corner of your cmd window) --> Edit Options)) in which git daemon runs. That will prevent it from printing any further messages in that window.
When the output thread of git daemon is blocked that way, then the error does not happen

@segfault:

У меня есть org файлы в приватном git репозитории. Как бы мне их с ведроида читать? Редактировать пофиг, а читать было бы полезно.

@max630:

А я тут подумал — ведь дохуя программистов которые не воспринимают код как текст вообще. Им IDE само делает рефакторинг, переименовывает все вызовы и так далее. А тут внезапно надо мержить, и где-то поменялась переменная, а в другом месте ты её вызвал. Это уже непривычно и анноит, надо ходить по проекту и исправлять руками ошибки. А когда конфликт — это вообще пиздец, всё раскрашивается красным, их выкидывает из зоны комфорта на орбиту Юпитера.

@max630:

ааа, гитгаб приктыл рефлоги

@drvlat:
Git

Смею предположить, что я неплохо знаю git. Но черт возьми, как же он задолбал с постоянными конфликтами при merge. Чувствую, что следующий проект будет на hg, или даже шаг назад — svn.

@praut:

"most important git tip is: use Magit"

@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:

amend break

@glupovat:
Git

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

@AlexVK:

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

@vt:
Git ?

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

@max630:

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

@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:

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

@L29Ah:
Git

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:

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

@max630:

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

@rufuse:

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