В чем разница между git клоном и проверкой?

В чем разница между git clone и git checkout?

Ответ 1

Страница man для проверки: http://git-scm.com/docs/git-checkout

Страница man для клонирования: http://git-scm.com/docs/git-clone

Чтобы подвести итог, клон предназначен для выборки репозиториев, которые у вас нет, проверка выполняется для переключения между ветвями в уже существующем репозитории.

Примечание. Для тех, у кого есть фон SVN/CVS и новый для Git, эквивалент git clone в SVN/CVS равен checkout. Такая же формулировка разных терминов часто путается.

Ответ 2

git clone предназначен для извлечения ваших репозиториев с удаленного сервера git.

git checkout - проверить нужный статус вашего репозитория (например, ветки или конкретные файлы).

Например, вы находитесь на главной ветке, и вы хотите перейти в ветвь разработки.

git checkout develop_branch

Например, вы хотите проверить статус определенного файла

git checkout commit_point_A -- <filename>

Вот хорошая ссылка, чтобы вы могли узнать Git, чтобы вы поняли намного легче.

Ответ 3

Одно замечание - отсутствие "копирования" внутри git. Это потому, что у вас уже есть полная копия в вашем локальном репо - локальное репо - это clone выбранного вами репозитория upstream. Таким образом, у вас есть фактически checkout всего, не помещая некоторую "блокировку" этих файлов в ссылочном репо.

Git предоставляет хэш-значения SHA1 в качестве механизма проверки того, что копия, которую вы имеете в дереве файлов/каталогов/commit/repo, точно такая же, как и для тех, кто может объявлять вещи как "Мастер" внутри иерархия доверия. Это позволяет избежать всех этих "блокировок", которые заставляют большинство систем SCM задыхаться (с обычными проблемами с частными копиями, большими слияниями и без реального контроля или управления исходным кодом;-)!

Ответ 4

Просто git проверка имеет 2 использования

  • Переключение между существующими локальными ветвями типа git checkout <existing_local_branch_name>
  • Создайте новую ветку из текущей ветки с помощью флага -b. Предположим, что если вы находитесь в главной ветки, тогда git checkout -b <new_feature_branch_name> создаст новую ветку с содержимым мастера и переключится на вновь созданную ветку

Дополнительные параметры можно найти на официальном сайте