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 clonedi SVN / CVS adalah checkout. Kata-kata yang sama dari istilah yang berbeda sering membingungkan.
checkoutdapat digunakan untuk hal-hal lain juga, seperti menimpa file Anda di copy pekerjaan Anda dengan versi file itu dari revisi lain.
svick
8
dan kapan Anda menggunakan "pull" vs "checkout"?
Kokodoko
27
pull adalah pengambilan plus gabungan, checkout adalah operasi lokal yang hanya beroperasi pada data yang sudah diambil. Jadi tidak seperti checkout svn sama sekali.
Agustus Lilleaas
13
Datang dari dunia SVN, saya juga bingung. Wow .. berantakan sekali. Dalam dunia yang ideal saya akan memaksa setiap produsen sistem kontrol sumber untuk menggunakan istilah yang sama.
Zoltán Tamási
5
Fork adalah istilah github dan tidak terkait dengan git itu sendiri.
Agustus Lilleaas
123
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.
"dari server git jarak jauh" - tidak perlu untuk server menjadi jauh. git clonejuga akan bekerja dengan repo lokal.
SET
1
Terima kasih atas tautan ke referensi visual ke git!
David Pointer
@Kit Ho: Tautan baik-baik saja sebagai referensi, tetapi itu tidak banyak membantu bagi seseorang dengan pertanyaan dasar tentang git seperti orang di atas. Seperti artikel itu sendiri mengatakan, "Setelah Anda tahu sedikit tentang cara kerja git, situs ini dapat memperkuat pemahaman Anda"
SN
Definisi sirkuler tidak begitu membantu. Kata "fetch" yang digunakan untuk menggambarkan clone berguna dan menambahkan makna, tetapi frasa "checkout to checkout ..." tidak menambahkan makna, juga tidak benar-benar membantu membedakan perbedaan antara dua operasi.
C Perkins
11
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 clonesatu repo hulu pilihan Anda. Jadi, Anda memiliki pribadi yang efektif checkoutuntuk 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 ;-)!
Pertanyaannya tidak menyebutkan kunci dan harus diasumsikan secara default pada saat ini bahwa seseorang tidak terbiasa dengan konsep ini sehingga perbedaan dari VCSes lama ini harus dijelaskan hanya jika ditanyakan secara eksplisit.
wRAR
6
Cukup git checkout, ada 2 kegunaan
Beralih di antara cabang lokal yang ada seperti git checkout <existing_local_branch_name>
Buat cabang baru dari cabang saat ini menggunakan flag -b. Misalkan jika Anda berada di cabang master maka git checkout -b <new_feature_branch_name>akan membuat cabang baru dengan isi master dan beralih ke cabang yang baru dibuat
Anda dapat menemukan lebih banyak opsi di situs resmi
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 adalahcheckout
. Kata-kata yang sama dari istilah yang berbeda sering membingungkan.sumber
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.
Misalnya, Anda ingin checkout ke status tertentu dari file tertentu
Berikut ini adalah referensi yang baik bagi Anda untuk belajar Git, membuat Anda lebih mudah memahami.
sumber
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 efektifcheckout
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 ;-)!
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
sumber
-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
...sumber