Здравствуйте, LaptevVV, Вы писали:
LVV>https://githowto.com/ru LVV>Рекомендую. LVV>С самого начала.
А еще есть такая штука как Sourcetree или TortoiseGit или GitHub Client — которые избавляют ваш разум от необходимости держать в голове лишний мусор в виде консольных команд. Просто сидишь и на кнопочки нажимаешь вместо этого.
DP>А чем она хорошо? Почему именно ее? Какие плюсы в сравнении с оригинальным handbook-ом (https://git-scm.com/book/en/v2/)? Почему именно на русском?
Студентов учить.
1-2 курс, первый раз в первый класс...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
S>А еще есть такая штука как Sourcetree или TortoiseGit или GitHub Client — которые избавляют ваш разум от необходимости держать в голове лишний мусор в виде консольных команд. Просто сидишь и на кнопочки нажимаешь вместо этого.
Командная строка — для настоящих программистов...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
LVV>> Командная строка — для настоящих программистов ЭФ>Это догматизм. Нейроимпланты — вот передний край науки.
Это не догматизм, а славные традиции пионеров программирования!
Понимать надо!
Программирование — не наука.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
DP>>А чем она хорошо? Почему именно ее? Какие плюсы в сравнении с оригинальным handbook-ом (https://git-scm.com/book/en/v2/)? Почему именно на русском? LVV>Студентов учить. LVV>1-2 курс, первый раз в первый класс...
Так а чего там учить-то? 1 лекция + 1, ну максимум 2 практических занятия за глаза хватит:
— рассказать что такое система контроля версий и зачем нужна
— какие бывают
— основные команды гита
По любому для начала даже работы хватит понимая базовых вещей:
— три состояния
— локальный/удаленный репозитории
— пулл/пуш
— коммит/чекаут
— ребейз
— MR/PR
— поработать с GitLab+GitHub (ну ладно-ладно, тут как раз второе практическое занятие подойдет)
(опционально и полезно)
— git flow vs. GitHub flow vs. GitLab flow (супер статья, которой к сожалению не осталось на оф. сайте, но вот завалялась тут https://gitlab.cn/docs/14.0/ee/topics/gitlab_flow.html)
— правила оформления коммитов – вот это я бы обязательно каждому студенту, который планирует заниматься разработкой, показывал и заставлял как минимум прочитать, а лучше сразу же начать применять (https://cbea.ms/git-commit/)
— такое еще можно, но это прям advanced (https://www.conventionalcommits.org/en/v1.0.0/)
LVV>>Студентов учить. LVV>>1-2 курс, первый раз в первый класс... M>Учат ли студентов другим системам контроля версий (или хотя бы истории их развития)?
К сожалению, на первом курсе сейчас не учат
Но на 2-м вот прямо сейчас все лабы в гитхабе.
И соответственно, отвечаем на все вопросы по гиту и гитхабу.
И нужные книжки/сайты показываем.
Но специальных лекций не ведем. Видосы есть в сети.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
DP>>>А чем она хорошо? Почему именно ее? Какие плюсы в сравнении с оригинальным handbook-ом (https://git-scm.com/book/en/v2/)? Почему именно на русском? LVV>>Студентов учить. LVV>>1-2 курс, первый раз в первый класс... DP>Так а чего там учить-то? 1 лекция + 1, ну максимум 2 практических занятия за глаза хватит:
Не судите по себе.
Студенты разные.
Например, один перец сегодня вопрос задал: а нафига из командлной строки, если можно по кнопочкам жать ?
Лекции мы не читаем.
Для этого есть как раз githowto
И видосы в сети.
А лабы все в гитхабе.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Shmj, Вы писали:
S>А еще есть такая штука как Sourcetree или TortoiseGit или GitHub Client — которые избавляют ваш разум от необходимости держать в голове лишний мусор в виде консольных команд. Просто сидишь и на кнопочки нажимаешь вместо этого.
А потом у тебя ломается репа, и ты бежишь за помощью к тому, кто освоил командную строку...
Здравствуйте, DiPaolo, Вы писали:
DP>- правила оформления коммитов – вот это я бы обязательно каждому студенту, который планирует заниматься разработкой, показывал и заставлял как минимум прочитать, а лучше сразу же начать применять (https://cbea.ms/git-commit/)
Оформлению научить легко, а вот научить членораздельно описывать что и зачем сделано — уже намного сложнее. На практике с этим бывают проблымы и у программистов с солидным опытом. Наверное, это какой-то совершенно отдельный навык.
DP>— такое еще можно, но это прям advanced (https://www.conventionalcommits.org/en/v1.0.0/)
В корне не согласен. Scope должен описывать логическую единуцу в проекте, чтобы релевантные коммиты легче искать было ("LibA", "CMake", "CI"). Префиксы в виде fix или feature вообще никак не помогает при решении проблем с использованием истории, т.к. при просмотре истории не важно как автор классифицировал изменение (отсутствие какой-то фичи это баг или нет?). Ссылка на bug, feature request, task или что-то подобное в любом случае должно быть или в PR или в коммите.
Здравствуйте, DiPaolo, Вы писали:
LVV>>https://githowto.com/ru LVV>>Рекомендую. LVV>>С самого начала.
DP>А чем она хорошо? Почему именно ее? Какие плюсы в сравнении с оригинальным handbook-ом (https://git-scm.com/book/en/v2/)?
Я учился на этом оригинальном handbook'е, он ужасен.
Впрочем, https://githowto.com/ru тоже не прекрасен, в частности мало иллюстраций объясняющих происходящие.
DP>Почему именно на русском?
А школьники нынче легко читают на английском?
Pzz>А потом у тебя ломается репа, и ты бежишь за помощью к тому, кто освоил командную строку...
Но ведь разрабочики вполне работают с другими VCS (subversion например) через GUI, и ничего обычно не ломается, да ещё так чтобы только из командной строки можно было поправить.
В чем причина? Git плохой, GUI плохой?
Здравствуйте, LaptevVV, Вы писали:
LVV>Например, один перец сегодня вопрос задал: а нафига из командлной строки, если можно по кнопочкам жать ?
Ну правильный же вопрос, а какой ответ?
IMHO, 99% рутинной работы c git из командной строки делать нет никакого смысла. Оставшийся 1% гуглится все равно.
LVV>>Например, один перец сегодня вопрос задал: а нафига из командлной строки, если можно по кнопочкам жать ? bnk>Ну правильный же вопрос, а какой ответ? bnk>IMHO, 99% рутинной работы c git из командной строки делать нет никакого смысла. Оставшийся 1% гуглится все равно.
Ответ.
а) см. ответ PZZ в этом топике
б) разрешаю написать собственную среду для гита. Чужую использовать нельзя.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>>>Например, один перец сегодня вопрос задал: а нафига из командлной строки, если можно по кнопочкам жать ?
bnk>>Ну правильный же вопрос, а какой ответ? bnk>>IMHO, 99% рутинной работы c git из командной строки делать нет никакого смысла. Оставшийся 1% гуглится все равно.
LVV>Ответ. LVV>а) см. ответ PZZ в этом топике
Т.е. ответ "от кнопок (GUI) ломается репа", я правильно понял?
LVV>б) разрешаю написать собственную среду для гита. Чужую использовать нельзя.
bnk>>>IMHO, 99% рутинной работы c git из командной строки делать нет никакого смысла. Оставшийся 1% гуглится все равно. LVV>>Ответ. LVV>>а) см. ответ PZZ в этом топике bnk>Т.е. ответ "от кнопок (GUI) ломается репа", я правильно понял?
Это ты спроси у PZZ — от чего может сломаться репа. У меня не ломалась, но я из командной строки работал LVV>>б) разрешаю написать собственную среду для гита. Чужую использовать нельзя. bnk>Студентам в смысле? Тяжко им приходится
Ну так тяжело в учении — легко в бою.
У меня в принципе ответ на всякие такие вопросы один.
Типа студент говорит: нафига мы вот это используем, можно вон то.
Я ему: не нравится — напиши свое. И не для себя, а для всех — чтобы вся кафедра пользовалась.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
LVV>Типа студент говорит: нафига мы вот это используем, можно вон то.
Так вполне логичные, разумные вопросы.
LVV>Я ему: не нравится — напиши свое. И не для себя, а для всех — чтобы вся кафедра пользовалась.
А вот это конечно странно на мой личный взгляд... На тот же вопрос про GUI vs. CLI можно дать вполне разумный соответствующий действительности ответ. Например, тебе нужно залезть по SSH на сервер, где только командная строка, и там надо свичнуть репу продукта, подтянуть сабмодули, сделать дифф, закоммитить, ну и так далее. Для всего остального – не надо никаких своих писанин, пусть любой ГУЙ юзает, тк проще и быстрее. НО опять же, если вам надо, например, изменить 100 комиков из прошлого, поправив там имейл автора – вот пожалуйста: только командная строка и скрипт.
А то выглядит действительно как "ваши деды лопатами снег убирали, и вы поработайте".
DP>А то выглядит действительно как "ваши деды лопатами снег убирали, и вы поработайте".
не.
Выглядит: настройте VSCode и юзайте.
VSCode полезный инструмент, пригодится.
Насчет дедов.
Математики изучают матанализ, который Ньютон и Лейбниц еде делали.
И теорию графов, которую еще Эйлер начинал.
Вот уж деды так деды.
Программисты профи ОБЯЗАНЫ знать командную строку и уметь работать с ней.
Точка!
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
LVV>Насчет дедов. LVV>Математики изучают матанализ, который Ньютон и Лейбниц еде делали. LVV>И теорию графов, которую еще Эйлер начинал. LVV>Вот уж деды так деды.
А вот матан и графы – тут согласен. Это полезно
LVV>Программисты профи ОБЯЗАНЫ знать командную строку и уметь работать с ней. LVV>Точка!
Так не о том же речь! Ком. строку да, конечно надо знать. Но именно гит необязательно юзать в командной строке, за исключением некоторых вещей (см. примеры выше).
Здравствуйте, Эйнсток Файр, Вы писали:
LVV>> Командная строка — для настоящих программистов ЭФ>Это догматизм. Нейроимпланты — вот передний край науки.
Мы не осьминоги, поэтому работа через нейроимпланты всё равно сведётся к последовательности действий, последовательность же действий описывается потоком, а потому легко отображается на командную строку.
Здравствуйте, LaptevVV, Вы писали:
DP>>А то выглядит действительно как "ваши деды лопатами снег убирали, и вы поработайте".
LVV>Выглядит: настройте VSCode и юзайте.
DP>Выше шла речь про студентов. И да, студентам я бы рекомендовал сразу читать на английском – качать технический английский.
Вы просто не знаете современных студентов в провинции.
Лучшие-то уезжают в центр.
А нам остается то, что остается.
да еще из Казахстана, Армении и Азербайджана приезжают — уже русский плохо знают, не говоря уж об английском.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, DiPaolo, Вы писали:
DP>Выше шла речь про студентов. И да, студентам я бы рекомендовал сразу читать на английском – качать технический английский.
Так как там есть русский вариант, https://git-scm.com/book/ru/v2, то вряд ли вчерашние школьники будут читать английский.
Здравствуйте, DiPaolo, Вы писали:
DP>А если тебя ЧатЖПТ попросит с 10го этажа спрыгнуть – тоже пойдешь прыгать?? DP>Капец! совсем уже достали своим ЖПТ. Ну не везде он поможет, а где-то даже навредит, ваш ЖПТ. Нет, блин, суют куда надо и не надо.
Нужно понимать где он поможет а где нет. Он отлично заменяет документацию — ведь он проиндексировал все документации мира и может ответить на любой вопрос по стандартам, по командам и т.д.
Нужно понимать свои слабые и сильные стороны. Мне чтобы выучить текст 100 МБ символ в символ — нужно лет 10. А компьютер справится за 0.00001 секунду.
Т.е. что-либо запомнить, знать команды — это не наша сильная сторона.
bnk>Ну правильный же вопрос, а какой ответ? bnk>IMHO, 99% рутинной работы c git из командной строки делать нет никакого смысла. Оставшийся 1% гуглится все равно.
Проблема с GUI-инструментами в том, что для git нет референсного GUI, т.о. возникает сложность сопоставления множества элементов GUI и множества команд офф. документации.
Особенно с учетом того, что команд в git много, и одна команда в git может иметь несколько назначений в зависимости от параметров.
В некоторых фронтендах для Git это сделать проще, в некоторых — затруднительно.
Например при работе в команде нужно иметь возможность объясниться с коллегами вне зависимости от того, какой инструмент они выбрали для работы с Git.
Поэтому такое ограничение студентов _в рамках учебного процесса_ выглядит вполне обоснованным.
Здравствуйте, bnk, Вы писали:
bnk>Ну правильный же вопрос, а какой ответ? bnk>IMHO, 99% рутинной работы c git из командной строки делать нет никакого смысла. Оставшийся 1% гуглится все равно.
Командная строка банально быстрее, особенно для рутинной работы.
Набрать (да и набирать обычно не надо, просто несколько раз нажать стрелочку "вверх") простую команду
git add -u && git commit -m "Blah Blah Blah"
выходит быстрее, чем заниматься снайперством по меню.
Плюс — знаешь, что делаешь. Особенно, когда приходится работать с разными IDE. Вот откуда мне знать, что в одном из GUI обозвали "Git->Update"?
Здравствуйте, landerhigh, Вы писали:
L>Здравствуйте, bnk, Вы писали:
bnk>>Ну правильный же вопрос, а какой ответ? bnk>>IMHO, 99% рутинной работы c git из командной строки делать нет никакого смысла. Оставшийся 1% гуглится все равно.
L>Командная строка банально быстрее, особенно для рутинной работы.
L>Набрать (да и набирать обычно не надо, просто несколько раз нажать стрелочку "вверх") простую команду L>
L>git add -u && git commit -m "Blah Blah Blah"
L>
L>выходит быстрее, чем заниматься снайперством по меню.
"git add -u" это одно нажатие на кнопку.
Довольно часто бывает что в коммит нужно добавить не "вообще все изменения" а только их часть (несколько измененных файлов, а не все)
К тому же просмотреть (проконтролировать) еще раз перед коммитом, в чем именно изменения заключаются.
А если надо добавить например только часть изменений в одном файле (несколько измененных строк в коммит добавить, но не все измененные строки), то без GUI это крайне неудобно.
L>Плюс — знаешь, что делаешь. Особенно, когда приходится работать с разными IDE. Вот откуда мне знать, что в одном из GUI обозвали "Git->Update"?
Здравствуйте, bnk, Вы писали:
bnk>"git add -u" это одно нажатие на кнопку.
Только "одно нажатие на кнопку" — это переключение контекста (оторвать руки от клавиатуры и схватить мышу) и визуальное прицеливание.
bnk>Довольно часто бывает что в коммит нужно добавить не "вообще все изменения" а только их часть (несколько измененных файлов, а не все)
Вот единственное, что в гуе делать несколько удобнее.
bnk>К тому же просмотреть (проконтролировать) еще раз перед коммитом, в чем именно изменения заключаются.
git diff из консоли. Дело привычки.
bnk>А если надо добавить например только часть изменений в одном файле (несколько измененных строк в коммит добавить, но не все измененные строки), то без GUI это крайне неудобно.
А как это сделать в GUI?
L>>Плюс — знаешь, что делаешь. Особенно, когда приходится работать с разными IDE. Вот откуда мне знать, что в одном из GUI обозвали "Git->Update"? bnk>Ну так не надо использовать плохой GUI
Здравствуйте, landerhigh, Вы писали: bnk>>А если надо добавить например только часть изменений в одном файле (несколько измененных строк в коммит добавить, но не все измененные строки), то без GUI это крайне неудобно. L>А как это сделать в GUI?
S>А еще есть такая штука как Sourcetree или TortoiseGit или GitHub Client — которые избавляют ваш разум от необходимости держать в голове лишний мусор в виде консольных команд. Просто сидишь и на кнопочки нажимаешь вместо этого.
Как по мне так консольные комманды удобнее для ежедневных простых действий, основные комманды очень быстро запоминаются, и работать с ними легче и приятнее чем искать и тыкать кнопочки. UI я тоже активно пользуюсь, но главное его применение, это просмотр истории, и изменений, это тут реально это нужно.
Попробуй заставить себя насильно поработать недельку с консольным гитом. Первые пару дней будет тяжело, но потом почувствуешь, что возиться с UI уже кажется медленным и не хочется.
Здравствуйте, LaptevVV, Вы писали:
LVV>Программисты профи ОБЯЗАНЫ знать командную строку и уметь работать с ней. LVV>Точка!
Ну вперёд, выкидывайте ваш текстовый редактор, ставьте vi (сперва его освойте, а потом мы вам воды в бассейн нальем vim разрешим)
LVV>>Программисты профи ОБЯЗАНЫ знать командную строку и уметь работать с ней. LVV>>Точка! A>Ну вперёд, выкидывайте ваш текстовый редактор, ставьте vi (сперва его освойте, а потом мы вам воды в бассейн нальем vim разрешим)
1. Выкидывать ничего не собираюсь.
2. Кто это там что-то мне хочет разрешить ? Не пойти ли вам...
Я работал с командной строкой, когда ты еще не родился.
Как профи — ты обязан знать и уметь работать в командной строке.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Как профи — ты обязан знать и уметь работать в командной строке.
Ну вот я вам и предлагаю на личном примере отказаться от богомерзкого IDE и педалить код в vi. Говорят после N лет производительность улетает в космос.
Или начните хотя бы сообщения на кывт в lynx печатать.
Здравствуйте, alsemm, Вы писали:
A>Ну вперёд, выкидывайте ваш текстовый редактор, ставьте vi (сперва его освойте, а потом мы вам воды в бассейн нальем vim разрешим)
Чой-то? Пусть сам напишет, чтобы потом вся кафедра пользовалась
Здравствуйте, landerhigh, Вы писали:
bnk>>К тому же просмотреть (проконтролировать) еще раз перед коммитом, в чем именно изменения заключаются.
L>git diff из консоли. Дело привычки.
A>>Ну вперёд, выкидывайте ваш текстовый редактор, ставьте vi (сперва его освойте, а потом мы вам воды в бассейн нальем vim разрешим) M>Чой-то? Пусть сам напишет, чтобы потом вся кафедра пользовалась
Написали и уже 12 лет пользуемся.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Marty, Вы писали:
M>А что-то надо в игнор добавить. Плюс я люблю посмотреть, что наменял, и фиксировать изменения за несколько коммитов
L>>выходит быстрее, чем заниматься снайперством по меню. M>У меня на работе один мучается так. Что-то я не заметил, что у него быстрее выходит, рн ещё постоянно гуглит как то или иное сделать
Есть подозрение, что "гуглит как то или иное сделать" относится к тому, что в GUI никак вообще не сделать.
L>>Плюс — знаешь, что делаешь. Особенно, когда приходится работать с разными IDE. Вот откуда мне знать, что в одном из GUI обозвали "Git->Update"? M>Так надо просто клиент использовать, независящий от IDE
Зачем использовать какие-то костыли, если git командной строки везде одинаковый?
Здравствуйте, landerhigh, Вы писали:
L>>>Плюс — знаешь, что делаешь. Особенно, когда приходится работать с разными IDE. Вот откуда мне знать, что в одном из GUI обозвали "Git->Update"? M>>Так надо просто клиент использовать, независящий от IDE L>Зачем использовать какие-то костыли, если git командной строки везде одинаковый?
Потому что пользоваться гуём эффективнее. Тупо набрать "git add -A && git commit" больше нажатий клавиш, чем например "Ctrl-K". Хоткеями-то пользуешься?
Пишешь коммент к коммиту — тут тебе и проверка правописания чтобы подчеркнуло опечатки, и автодополнение имён классов-файлов, и история предыдущих комментов. Смотришь diff — подсветка синтаксиса, навигация по коду, етс.
Не знаю зачем тебе разные IDE. Сейчас существуют достаточно универсальные, чтобы умели открывать любой исходник, как минимум поредактировать.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
DP>>А чем она хорошо? Почему именно ее? Какие плюсы в сравнении с оригинальным handbook-ом (https://git-scm.com/book/en/v2/)? Почему именно на русском? LVV>Студентов учить. LVV>1-2 курс, первый раз в первый класс...
Здравствуйте, landerhigh, Вы писали:
L>Есть подозрение, что "гуглит как то или иное сделать" относится к тому, что в GUI никак вообще не сделать.
Да нет, гуглит всё то, что я в тортилке за пару сек на автомате протыкиваю
L>Зачем использовать какие-то костыли, если git командной строки везде одинаковый?
Везде одинаково угрёбищный. Я как-то работал в одной конторе, там на административном уровне надо было только ком строку использовать. Говно контора, я там долго не задержался
Здравствуйте, LaptevVV, Вы писали:
LVV>Насчет дедов. LVV>Математики изучают матанализ, который Ньютон и Лейбниц еде делали. LVV>И теорию графов, которую еще Эйлер начинал. LVV>Вот уж деды так деды.
Не очень подходящая аналогия. Матан — это инструмент, альтернативы которому нет. Изучить придётся.
А CLI и GUI просто разные подходы со своими плюсами и минусами.