Re[2]: Необходимость Git
От: Jack128  
Дата: 16.10.14 12:56
Оценка: +1
Здравствуйте, Sinix, Вы писали:

S>* офигенно удобная интеграция с VisualStudio от ankhSvn. Ничего хотя бы отдалённо напоминающего по удобству PendingChanges (см первый скриншот вот тут) для других систем контроля версий нет и походу не предвидится


А можно узнать в чем крутость?? Окно как окно. Вроде во всех гуях окно, в котором коммитят изменения, примерно такой же вид имеет.
Re: Необходимость Git
От: Abyx Россия  
Дата: 16.10.14 13:17
Оценка: -1
Здравствуйте, dmitry_npi, Вы писали:

_>https, а можно по ssh. Я вообще раньше думал, что это одно и то же...

сразу бы вот это написал, и мы бы всё поняли.
*тебе* гит не нужен.
In Zen We Trust
Re[3]: Необходимость Git
От: Sinix  
Дата: 16.10.14 13:29
Оценка:
Здравствуйте, Jack128, Вы писали:

J>А можно узнать в чем крутость?? Окно как окно. Вроде во всех гуях окно, в котором коммитят изменения, примерно такой же вид имеет.


В юзабилити У AnkhSvn реально получилось сделать пульт управления рабочей копией svn


* Во-первых, окно видно постоянно, оно аттачится как docked panel. Поле с сообщением о коммите можно скрыть, поэтому панель не занимает много места.

* Во-вторых, одним взглядом можно увидеть все сделанные изменения и тикеты, над которыми работаешь (если изменения сгруппированы по changelist). Очень удобно, если нужно восстановить контекст после переключения с задачи на задачу.

* В-третьих, даблкликом по файлу в pending changes можно посмотреть сделанные изменения. Вместе с окном TortoiseMerge — офигенно удобная штука, т.к
  tortoise merge умеет схлопывать одинаковый текст.

Для того, чтобы быстро проверить файлы перед коммитом — самое оно.

* В-четвёртых все основные действия: обновить, коммит, откатить и т.д. выполняются в один клик из контекстного меню или вообще с панели инструментов. Удобно, т.к. не надо переключаться со студии на тортойз (или вообще на консоль).


Это только то, что я активно использую.
Re[4]: Необходимость Git
От: Mumitroller Беларусь  
Дата: 16.10.14 13:30
Оценка:
Здравствуйте, CaptainFlint, Вы писали:

CF>Насчёт последнего времени, к сожалению, ничего сказать не могу. Как раз в районе пары лет назад мы столкнулись с тем, что в нашей сборочной системе репозитории стали работать всё тормознее и тормознее, а отдельные перестали клонироваться вовсе. Проблема оказалась в том, что в репы запихали тарболлы с исходниками, и чем больше их накапливалось в истории (и чем больше были сами тарболлы), тем быстрее репозиторий переставал корректно работать. Тогда и нагуглили, что бинарники с гитом не очень дружат, пришлось переделывать систему на хранение тарболлов в отдельном хранилище. Не исключаю, что в последних версиях гита это улучшили, но я не проверял.


А отключать delta compression для этих тарболлов вы не пробовали? Мне помогло в похожей ситуации, правда теоретически должен был заметно увеличится размер репо, но я не проверял, так как этот вопрос меня совсем не волновал.

Mumitroller
... << RSDN@Home 1.2.0 alpha 5 rev. 56>>
Re[2]: Необходимость Git
От: Abyx Россия  
Дата: 16.10.14 13:31
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Н>Берите Mercurial. Там всё в разы проще, а возможностей даже больше.


проще — согласен, только откуда там больше возможностей?
In Zen We Trust
Re: Необходимость Git
От: BRAhMS  
Дата: 16.10.14 13:32
Оценка: +1
Здравствуйте, dmitry_npi, Вы писали:

_>Итак, что бы я хотел от сообщества? Поймите, я не ретроград, я за изучение новых технологий. Но в данном случае в упор не вижу, чем гит может сделать мою жизнь лучше в сравнении с SVN. Хотелось бы получить действительно убедительные аргументы.


Мои личные аргументы очень просты, их 2:
1. Возможность иметь произвольное кол-во локальных бранчей, работая в одной папке.
Это действительно большой плюс. Можно очень быстро переключаться между тасками.
Даже если проект в целом подложен под SVN, делаю в папке локальный гит репозиторий для этой цели.

2. Очень гибкая работа с бранчами. Очень удобно разрабатывать каждую отдельной ветке и автоматизировать интеграцию фичи в релиз бранч(и).
Re[2]: Необходимость Git
От: grinder  
Дата: 16.10.14 13:52
Оценка:
Здравствуйте, BRAhMS, Вы писали:

BRA>Здравствуйте, dmitry_npi, Вы писали:


_>>Итак, что бы я хотел от сообщества? Поймите, я не ретроград, я за изучение новых технологий. Но в данном случае в упор не вижу, чем гит может сделать мою жизнь лучше в сравнении с SVN. Хотелось бы получить действительно убедительные аргументы.


BRA>Мои личные аргументы очень просты, их 2:

BRA>1. Возможность иметь произвольное кол-во локальных бранчей, работая в одной папке.
BRA>Это действительно большой плюс. Можно очень быстро переключаться между тасками.
BRA>Даже если проект в целом подложен под SVN, делаю в папке локальный гит репозиторий для этой цели.

BRA>2. Очень гибкая работа с бранчами. Очень удобно разрабатывать каждую отдельной ветке и автоматизировать интеграцию фичи в релиз бранч(и).


Добавлю еще такую вещь как отсутствие tree conflicts. Не знаю, есть ли эта проблема еще в последних версиях SVN, но меня она бесила конкретно. Поэтому последние пару лет с SVN работаю только через git-svn.
Re[3]: Необходимость Git
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 16.10.14 13:55
Оценка:
Здравствуйте, Abyx, Вы писали:

A>проще — согласен, только откуда там больше возможностей?


А вопросом на вопрос можно? Спасибо. Что такого умеет Git, что не умеет Mercurial? Если про "легковесные ветки" -- то это Bookmarks и Changeset Evolution. Если про переписывание истории, то тот же Rebase и опять Changeset Evolution.

Наоборот -- это да. В Git'е даже близко нет аналога веток из Mercurial и поэтому, помимо всего прочего, история коммитов изобилует "merged remote tracking branch x/y from zzz".
HgLab: Mercurial Server and Repository Management for Windows
Re[5]: Необходимость Git
От: CaptainFlint http://flint-inc.ru/
Дата: 16.10.14 15:04
Оценка:
Здравствуйте, Mumitroller, Вы писали:

CF>> <…> Тогда и нагуглили, что бинарники с гитом не очень дружат, пришлось переделывать систему на хранение тарболлов в отдельном хранилище. Не исключаю, что в последних версиях гита это улучшили, но я не проверял.


M>А отключать delta compression для этих тарболлов вы не пробовали? Мне помогло в похожей ситуации, правда теоретически должен был заметно увеличится размер репо, но я не проверял, так как этот вопрос меня совсем не волновал.


К сожалению, не в курсе, этим другие сотрудники занимались.
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re[2]: Необходимость Git
От: Mr.Delphist  
Дата: 16.10.14 15:07
Оценка:
Здравствуйте, Слава, Вы писали:

С>Для меня в гите есть такая удобная вещь, как stash. Можно засунуть туда локальные изменения для большой и долгой работы, быстренько сделать срочную работу — баги поправить, достать изменения из stash обратно и продолжить.


Другие сорс-контролы называют это shelves
Re[3]: Необходимость Git
От: ins-omnia СССР  
Дата: 16.10.14 15:19
Оценка:
Здравствуйте, Anton Batenev, Вы писали:

Pzz>> Авторизация по ключу удобнее, потому что снимает необходимость каждый раз вводить пароль.


AB>Ай-ай-ай!!! Пароль на ключе должен быть.


ssh agent же
Откуда же его [независимый суд] взять, если в нем такие же как мы? (c) VladD2
Re[4]: Необходимость Git
От: Anton Batenev Россия https://github.com/abbat
Дата: 16.10.14 16:00
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz> Pzz>> Авторизация по ключу удобнее, потому что снимает необходимость каждый раз вводить пароль.

Pzz> AB>Ай-ай-ай!!! Пароль на ключе должен быть.
Pzz> Зачем?

За тем, чтобы в случае его кражи (потеря ноута например), им не смогли просто так воспользоваться (если, конечно, выше не имелся ввиду ssh-agent с небольшим таймаутом хранения).
... в первом классе мне говорили, что нужно делиться, а теперь говорят, что это незаконно ...
Re: Необходимость Git
От: btn1  
Дата: 16.10.14 16:22
Оценка:
Здравствуйте, dmitry_npi, Вы писали:

_>Децентрализация. А зачем она? Проект, перед отправкой заказчику, все равно должен быть собран из центрального репозитория


Незачем было столько писать, достаточно вопроса выше

Децентрализация — это неправильное слово, ближе по смыслу идёт АВТОНОМНОСТЬ, т.к. "децентрализация" подразумевает распределённый по разным физическим серверам сервис (но составляющий единое целое).
DVCS (бросьте это г**но git и юзайте Hg, мой совет) позволяет иметь как бы "карманную VCS", позволяющую делать вообще ВСЁ и при этом БЕЗОПАСНО. Захотел — создал ветку, не понравилось — откатился на год назад. Все эти операции делаются автономно и не затрагивают работу других людей, т.е. вы никому не испортите день, даже если наделали чудовищных изменений в репе. И только после того, как вы наэкспериментировались и добились идеального состояния репа, можно явить миру плод своих страданий — вот в чём радость DVCS! Ну и как бонус, имеем оффлайновый режим работы, позволяющий всё так же контролировать каждую ревизию, но при этом не искать судорожно WiFi, лёжа на "канарах".
Re[4]: Необходимость Git
От: Abyx Россия  
Дата: 16.10.14 17:15
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Н>Здравствуйте, Abyx, Вы писали:


A>>проще — согласен, только откуда там больше возможностей?


Н>А вопросом на вопрос можно? Спасибо. Что такого умеет Git, что не умеет Mercurial? Если про "легковесные ветки" -- то это Bookmarks и Changeset Evolution. Если про переписывание истории, то тот же Rebase и опять Changeset Evolution.


круто, а когда я юзал hg, там еще не было rebase
но я только не понял что делать после ребейза — разве там есть push --force и reset --hard как в гите? чтобы после ребейза залить ветку на сервер и потом синхронизировать другие рабочие копии

и еще, я почитал документацию к rebase и не заметил там --interactive

ну и еще я не понял как массово переписывать историю во всех коммитах, данные автора или коммитера например менять

Н>Наоборот -- это да. В Git'е даже близко нет аналога веток из Mercurial и поэтому, помимо всего прочего, история коммитов изобилует "merged remote tracking branch x/y from zzz".

а вот этого я не понял, и коммитов таких я никогда не видел, только "merge pull request" и обычные "merge branch" иногда
наверное я как-то не так юзаю гит
In Zen We Trust
Re: Необходимость Git
От: iZEN СССР  
Дата: 16.10.14 17:33
Оценка:
Вот тут товарищ тоже измучился с ним: https://www.linux.org.ru/forum/general/10897902
Re[5]: Необходимость Git
От: . Великобритания  
Дата: 16.10.14 21:12
Оценка: 6 (1)
Здравствуйте, Anton Batenev, Вы писали:

AB> За тем, чтобы в случае его кражи (потеря ноута например), им не смогли просто так воспользоваться (если, конечно, выше не имелся ввиду ssh-agent с небольшим таймаутом хранения).

Во-первых, если украли ноут с ключом (не так уж это и часто происходит, да и кто ж ноуты без ecryptfs держит?), можно просто отозвать (revoke) доступ по нему.
Во-вторых, что в общем-то можно сделать страшного? Запушить коммит удаления всего? Так первый же verify build зарежет. Засунуть в код бекдор? Ревьювер пошлёт. Разрешен прямой push? Ну git revert. Разрешен force push? И что, reflog 30 дней живёт. Сумели зачистить reflog? И что, gc вроде 7 дней loose commits держит. Ну ладно, в худшем случае, если все коллеги по проекту тоже сразу внезапно потеряли свои ноуты с клонами, либо в отпусках и не фетчат изменения, бэкапы забыли настроить, то как минимум останется история до последнего релизного тега, т.е. максимум потеряется изменения текущего спринта.

В общем, единственный нормальный способ удалить данные из git это "rm -rf", притом на всех клонах одновременно.
avalon/1.0.432
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[2]: Необходимость Git
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 16.10.14 21:56
Оценка:
Здравствуйте, Слава, Вы писали:

С>Для начала: существует TFS, и для ВижуалСтудии он подходит идеально.


У TFS куча своих проблем и особенностей.

С> Всякого рода гиты с эсвээнами для студии все же чужеродны.


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

С>Не надо. Ключи SSH вообще шифровать необязательно.


Приватный ключ, который на клиенте, все таки надо прятать.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[4]: Необходимость Git
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 16.10.14 21:56
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Нет. В репозитории не делается ничего. Репозиторий только хранит информацию. Все остальное делается локально.


Но локально у гита весь репозиторий.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[4]: Необходимость Git
От: . Великобритания  
Дата: 16.10.14 22:42
Оценка:
Здравствуйте, Sinix, Вы писали:

S> Это только то, что я активно использую.

Ужас. Убожество. Застряли в развитии лет на пять-семь по сравнению с IntelliJ.

Ну ничего, вот clion пилят... Уже можно посмотреть.

Подсветка изменений, прямо в окне редактора. Полоска слева — отмечает для текущего видимого блока, и справа на сколллбаре все изменённые места всего файла. Можно тут же из редактора посмотреть старое значение и откатить, сделать дифф, либо скопировать в буфер обмена. Плюс внизу список изменений, и в дереве проекта изменённые файлики отмечены цветом.


Дифф одного файла. С возможностью тут же поправить. Заметь, подсветка ЯП, навигация по коду, всплывающая инфа никуда не девается как в том же tortoisemerge.


Просмотр лога. В данном случае совместно отображаются коммиты из двух репозиториев (главный проект и third party library). Мержи в логе выглядят как мержи, а не хрен знает что в svn.


Управление ветками, сразу по всем репо.


Ещё суперфича — просмотр истории произвольно выделенного блока текста (с учётом переименований/переносов между файлами). Сложно продемонстрировать скриншотом, к сожалению.

Что все операции работают практически мгновенно (меньше секунды), вроде должно быть очевидно.
avalon/1.0.432
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: Необходимость Git
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 16.10.14 23:11
Оценка:
Здравствуйте, dmitry_npi, Вы писали:

_>Авторизация. Это вообще жесть. В SVN всё предельно просто: есть логин и пароль, ты их вводишь, сервер их принимает или нет. Для защиты самого пароля есть https. Для того, чтобы скачать с гитхаба, мне пришлось там зарегистрироваться (ну ладно, я уже был зареган), создать какие-то ключи, скачать на рабочий компьютер. На рабочем компьютере с помощью какой-то сторонней программы этот ключ сохранить и ЕЩЕ РАЗ ЗАЩИТИТЬ ЕГО КАКИМ-ТО ДРУГИМ ПАРОЛЕМ. Ну ладно, какое-то время работало и так. Потом что-то стряслось, не помню что, и консольный клиент перестал работать, стал говорить, юзер не найден, доступ запрещен и т.д. Хотя я конфигугрировал это (git --config).

_>Почему, скажите, гит не может тупо спросить у меня логин и пароль и отправить их на проверку на сервер? Оказалось, что можно клонировать репу по https, а можно по ssh. Я вообще раньше думал, что это одно и то же... Окей, перебазировал локальную репу на ssh при помощи заклинания, найденного в инете. После этого у меня отвалился еще клиент в студии.

У меня знакомая-гуманитарий разобралась с регистрацией на гитхабе и ключами за пять минут; мне только про https/ssh объяснить и понадобилось.
Ce n'est que pour vous dire ce que je vous dis.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.