LINUX.ORG.RU

[GIT] Накидайте советов фанбою.


0

0

Здравствуйте.
Использую гит в работе над проектом. Репозитарием пользуются два человека. Есть сервер, на котором в gitosis лежит ветка master, в которую и сыплются все изменения. Недавно запоганили историю (rebase у себя по уже выложенному на сервере не рулит), но её я уже привёл к линейному виду. В связи с чем возник вопрос - как после rebase восстановить имя автора коммита? А то теперь много где моё имя фигурирует, хоть эти изменения и не я вносил. Ну и просьба поделиться опытом - кто как гит использует и что неожиданно полезного в нём для себя открыл. Сам изучал по http://progit.org/book/ Тут много чего интересного - может кому пригодится. Интересуют моменты из личного опыта, не охваченные этим источником. Интересные ссылки также приветствуются :)
Спасибо.

★★

Ответ на: комментарий от xorik

Например есть такая строка:

6350fd33ec8cb83dc6fde24e3f9142a0578db7b2 20d4b17644693c92b6cb49c459fd0a9e21a8deb6 xorik <xorik@notebook> 1265566125 +0300	rebase -i (edit): updating HEAD

Ты делаешь: «git checkout 6350fd». После этого можешь грохать ветку master и создавать ей на новом месте, и считай ребейза не было

xorik ★★★★★ ()
Ответ на: комментарий от xorik

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

xorik ★★★★★ ()
Ответ на: комментарий от xorik

Ага, спасибо. Есть доступ к серверу, поэтому уже перезалил с исправленной историей. Другой человек, что с репой работает, тоже по новой себе склонировал. Так что вопрос не стоит в том, как ребейз откатить. Но на будущее учту :).

lv ★★ ()
Ответ на: комментарий от xorik

На сервер заливаем по ssh. Там наши публичные части ключей хранятся.

Зачем перезаливать? о_О просто делаешь «push origin +master» и всё

Ну я сделал push origin :master и потом push :)

lv ★★ ()
Ответ на: комментарий от lv

Да может есть идеи, как в консоль выводить историю, чтобы видно было какой бранч на какой коммит указывает. Сейчас использую

[alias]
poff = config --global core.pager \«\»
pon = config --global core.pager \«less\»
logo = !echo \«=====\» && git branch -av && echo \"---\" && git log --all --graph --oneline -n15 && echo \«=====\»
(прописано в конфиге) Смотреть историю нужно с отключённым пагером. Сам для удобства смотрю через gitg, но вот напарник коннектится к серверу через ssh и графические приблуды ему недоступны. В gitg удобно - рядом с коммитом висят имена бранчей. Здесь же sha парсить приходится.

lv ★★ ()
Ответ на: комментарий от xorik

> git branch -v

Нет - не то. Хочется чтобы в логе рядом с деревом напротив коммита писалось название бранча (если бранч указывает на этот коммит). За ссылку спасибо - есть там интересное :)

lv ★★ ()
Ответ на: комментарий от lv

По тому как переписать автора - в man git-commit есть --author

lv ★★ ()

Раз уж пошла такая тема. Я так понимаю отписавшиеся серьезно юзают гит. Не имели ли вы опыта с меркуриалом, в плане стоял ли выбор меркуриал или гит, если да почему выбрали гит? Я выбрал меркуриалом, типа только потому, что нравится питон (имея ввиду, что и гит неплох). Читал много и про гит. Конституционных отличий не нашел между ними. Если есть мнение, но не прямоугольное типо: «меркуриал гумно, я юзаю гит» - хотелось бы его почитать.

Alesh ()
Ответ на: комментарий от Alesh

Выбора такого не стояло... На предыдущей работе репу перевели с svn на git, стал изучать, проникся :).
Сейчас разбираюсь как сделать, чтобы при коммите на сервер всем девелоперам рассылались по мылу патчи. То ли через хуки делать нужно, то ли ещё как... вобщем, если кто ткнёт носом - буду благодарен :)

lv ★★ ()
Ответ на: комментарий от lv

хук post-receive на сервере. Письма лучше в рассылку рассылать, если разрабов несколько.

Slavaz ★★★★★ ()
Ответ на: комментарий от Alesh

А я выбрал git потому что мне питон не нравится. Полагаю что это один из ключевых критериев выбора. По крайней мере мне git и hg показались достаточно похожими по функционалу (у hg вроде бы докачка есть, что иногда очень уместно). :^)

KblCb ★★★★★ ()
Ответ на: комментарий от KblCb

> А я выбрал git потому что мне питон не нравится.

Мне тебя жаль )))

Alesh ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.