про интерфейс гита
Oct. 18th, 2018 03:08 amЧисто для программистов, но хорошая статья: Two Commits That Wrecked the User Experience of Git
Недружелюбность командного интерфейса git легендарна (хотя всегда находятся желающие подчеркнуть, как это на самом деле все тривиально, просто нубы не втыкают). В этой статье автор подробно разбирает два очень сомнительных решения: поместить два совершенно разных по сути и по духу действий внутрь git checkout, и два других - внутрь git reset. Он подробно объясняет, почему это разные действия, почему им стоило быть разными командами, и как случилось, исторически, во время разработки git, что их поместили в одну. Выходит занимательный мини-урок по дизайну интерфейсов.
Если попрыгать по ссылкам, можно дойти до исходного обсуждения этих решений в 2000-х; любопытно, что хотя сам код написан уже не Линусом, а мейнтейнером гита после него, идею добавить новую функциональность внутрь checkout, а не отдельной командой, продавил именно Линус.
P.S. Две полезные ссылки про гит: https://ohshitgit.com/ и https://git-scm.com/book/en/v2.
Недружелюбность командного интерфейса git легендарна (хотя всегда находятся желающие подчеркнуть, как это на самом деле все тривиально, просто нубы не втыкают). В этой статье автор подробно разбирает два очень сомнительных решения: поместить два совершенно разных по сути и по духу действий внутрь git checkout, и два других - внутрь git reset. Он подробно объясняет, почему это разные действия, почему им стоило быть разными командами, и как случилось, исторически, во время разработки git, что их поместили в одну. Выходит занимательный мини-урок по дизайну интерфейсов.
Если попрыгать по ссылкам, можно дойти до исходного обсуждения этих решений в 2000-х; любопытно, что хотя сам код написан уже не Линусом, а мейнтейнером гита после него, идею добавить новую функциональность внутрь checkout, а не отдельной командой, продавил именно Линус.
P.S. Две полезные ссылки про гит: https://ohshitgit.com/ и https://git-scm.com/book/en/v2.