Я вижу, что большинство других ответов объясняют, что делает git checkout
и почему «оформить заказ» может быть разумным способом описать это.Однако, хотя я очень люблю git, это затрагивает две серьезные проблемы, которые возникают, когда я пытаюсь помочь людям понять систему:
git checkout
делает две оченьотдельные вещи, и для новичков было бы полезно, если бы они были отдельными командами.
Циник мог бы предположить, что терминология git была специально выбрана, чтобы сбить людей с толку CVS и Subversion!Тот, который вы упомянули (checkout
), является отличным примером.Другой - commit
, который является полностью локальным в git и полностью зависит от сервера в CVS / SVN - терминология darcs «запись» потребовала бы меньше необучения для новичков в git.Другой пример, который мне нравится, это сообщение «Нужно обновить», которое вы видите в git, что на самом деле означает, что «нужно зафиксировать» :)
Конечно,всегда можно использовать другой внешний интерфейс для git, такой как easy git , iolaus и т. д., но в любом случае большинству людей в конечном итоге придется выучить стандартные команды, так что вы просточтобы привыкнуть к тому, что некоторые из них названы довольно удивительно.
Я уверен, что есть исторические причины для названий этих различных команд в git, но было бы полезно, если бы были выбраны другие слова ...
Обновление: VonC ссылки в комментариях к ответ с аккуратным псевдонимом, чтобы git checkout
безопаснее в любом из нихиз двух его применений;)