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



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

528   5  

5 ответов:

man-страница для оформления заказа:http://git-scm.com/docs/git-checkout

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

подводя итог, clone предназначен для извлечения репозиториев, которых у вас нет, checkout-для переключения между ветвями в репозитории, который у вас уже есть.

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

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

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

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

git checkout develop_branch

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

git checkout commit_point_A -- <filename>

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

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

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

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

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

Вы можете найти больше вариантов в официальный сайт

checkout можно использовать для многих случаях :

1-й случай: переключение между ветвями в локальном репозитории Например : git checkout exists_branch_to_switch

вы также можете создать новую ветку и переключиться в этом случае с -b

git checkout -b new_branch_to_switch

2-й случай: восстановить файл из X rev

git checkout rev file_to_restore ...

Comments

    Ничего не найдено.