Apa perbedaan antara git clone
dan git checkout
?
Apa perbedaan antara git clone
dan git checkout
?
Jawaban:
Halaman manual untuk checkout: http://git-scm.com/docs/git-checkout
Halaman manual untuk klon: http://git-scm.com/docs/git-clone
Singkatnya, klon adalah untuk mengambil repositori yang tidak Anda miliki, checkout adalah untuk berpindah antar cabang dalam repositori yang sudah Anda miliki.
Catatan: bagi mereka yang memiliki latar belakang SVN / CVS dan baru ke Git, setara dengan git clone
di SVN / CVS adalah checkout
. Kata-kata yang sama dari istilah yang berbeda sering membingungkan.
checkout
dapat digunakan untuk hal-hal lain juga, seperti menimpa file Anda di copy pekerjaan Anda dengan versi file itu dari revisi lain.
git clone adalah untuk mengambil repositori Anda dari server git jarak jauh.
git checkout adalah untuk mengecek status repositori yang Anda inginkan (seperti cabang atau file tertentu).
Misalnya, Anda saat ini di cabang master dan Anda ingin beralih ke mengembangkan cabang.
git checkout develop_branch
Misalnya, Anda ingin checkout ke status tertentu dari file tertentu
git checkout commit_point_A -- <filename>
Berikut ini adalah referensi yang baik bagi Anda untuk belajar Git, membuat Anda lebih mudah memahami.
git clone
juga akan bekerja dengan repo lokal.
Satu hal yang perlu diperhatikan adalah tidak adanya "Copyout" dalam git. Itu karena Anda sudah memiliki salinan lengkap di repo lokal Anda - repo lokal Anda menjadi salah clone
satu repo hulu pilihan Anda. Jadi, Anda memiliki pribadi yang efektif checkout
untuk semuanya , tanpa menaruh 'kunci' pada file-file itu di repo referensi.
Git memberikan nilai hash SHA1 sebagai mekanisme untuk memverifikasi bahwa salinan yang Anda miliki dari file / direktori tree / commit / repo persis sama dengan yang digunakan oleh siapa pun yang dapat mendeklarasikan hal-hal sebagai "Tuan" dalam hierarki kepercayaan. Ini menghindari semua 'kunci' yang menyebabkan sebagian besar sistem SCM tersedak (dengan masalah umum seperti salinan pribadi, penggabungan besar, dan tidak ada kontrol nyata atau pengelolaan kode sumber ;-)!
Cukup git checkout, ada 2 kegunaan
git checkout <existing_local_branch_name>
git checkout -b <new_feature_branch_name>
akan membuat cabang baru dengan isi master dan beralih ke cabang yang baru dibuatAnda dapat menemukan lebih banyak opsi di situs resmi
-b
pilihan mengagumkan yang menciptakan cabang lokal baru dan cek itu keluar juga pada saat yang sama dalam perintah tunggal. Menyukainya!
checkout
dapat digunakan untuk banyak kasus:
Kasus 1 : beralih antar cabang di repositori lokal Misalnya:
git checkout exists_branch_to_switch
Anda juga dapat membuat cabang baru dan beralih melalui kasus ini dengan -b
git checkout -b new_branch_to_switch
Kasus kedua : pulihkan file dari x rev
git checkout rev file_to_restore
...