разница между командой git - проверка и переключение - PullRequest
0 голосов
/ 23 марта 2020

В чем разница между git checkout -b branch_name против git switch -c branch_name?

Я попытался git команда -h как способ найти решение, и я искал его в документации. Ни в коем случае мне не удалось найти его. В документации git я нашел это:

Обратите внимание, что это создаст новую ветку, но не переключит на нее рабочее дерево; используйте «git switch» для переключения на новую ветвь.

, но в любом случае я набрал checkout или переключил commnad, моя текущая ветвь была изменена.

1 Ответ

2 голосов
/ 23 марта 2020

Как правило, как было упомянуто в комментариях, между git switch & git checkout нет фактической разницы в том, что Вы можете делать с ветками.

Идея создания git switch & git restore, поскольку они были представлены вместе, возникла из множества вопросов и проблем, которые возникли у новых пользователей с git checkout. Раньше вы могли использовать git checkout до switch для другой ветви, но также вы могли использовать ее для restore изменений от некоторого определенного c коммита или даже для восстановления изменений для одного файла.

Проблема, которая была замечена некоторыми пользователями, заключается в том, что операции над коммитами / файлами и операциями над ветвями сильно различаются, и сгруппировать их по одной команде может быть проблематично. Вот почему были введены две новые команды restore, чтобы разрешить восстановление изменений, и switch, чтобы разрешить операции с ветвями.

Итак, чтобы подвести итог, между git switch и git checkout нет никакой разницы с точки зрения переключения ветвей, и нет никакой разницы между git restore и git checkout с точки зрения восстановления изменений для файлов или фиксаций. Вы можете использовать их взаимозаменяемо. Единственное, что нужно иметь в виду, это то, что switch & restore все еще помечены как экспериментальные, поэтому я бы не стал использовать их для создания долгоживущих сценариев или около того.

...