Saya ingin mengunduh kode sumber dari cabang master-next menggunakan git seperti yang dijelaskan dalam wiki Xilinx .
Saya mencoba ini:
#git clone git://github.com/Xilinx/u-boot-xlnx/tree/master-next.git
Initialized empty Git repository in /home/Hannan/master-next/.git/
fatal: remote error:
Xilinx/u-boot-xlnx/tree/master-next is not a valid repository name
Email [email protected] for help
Bahkan ini gagal:
# git clone git://github.com/Xilinx/tree/master-next/u-boot-xlnx.git
Initialized empty Git repository in /home/Hannan/u-boot-xlnx/.git/
fatal: remote error:
Xilinx/tree/master-next/u-boot-xlnx is not a valid repository name
Email [email protected] for help
Perintah yang berfungsi adalah:
git clone git://github.com/Xilinx/u-boot-xlnx.git
Tetapi bagaimana saya tahu bahwa ini memang akan mengambil cabang master-berikutnya dan bukan cabang master ? Bagaimana cara mengambil cabang tertentu dengan benar menggunakan git?
Saya menggunakan RHEL 6, diakses melalui Putty.
git checkout master-next
setelah kloning.Perintah ini harus bekerja:
Perintah di atas hanya mengambil metadata dari repositori jarak jauh, tidak menggabungkan sumber.
Jika Anda ingin mengambil dan menggabungkan sumber, perintahnya adalah:
Hati-hati dengan cabang tempat Anda menjalankan perintah gabung. Ini akan menjadi tempat sumber digabung.
sumber
repositori git berisi semua cabang (tetapi perbedaan dikompresi dan hanya karena itu jarang masalah ukuran).
Oleh karena itu, Anda dapat mengkloning seluruh proyek seperti yang telah Anda lakukan dengan sukses. Ini adalah cara standar untuk mendapatkan repositori, bahkan jika Anda hanya tertarik pada satu cabang.
Struktur .git kemudian akan menyertakan semua cabang yang dilakukan pada repositori itu.
Untuk menggunakan cabang tertentu lakukan
git checkout [branch_name]
Jika cabang ada file akan tersedia secara lokal (hanya itu, file saat ini di direktori proyek).git status
kemudian akan menunjukkan cabang mana yang merupakan cabang saat ini, misalnya:Menurut Leiaz seseorang dapat mengkloning cabang tertentu. Dalam praktiknya saya belum pernah melakukan ini atau melihat orang lain menggunakannya. Pada penelitian lebih lanjut, saya melihatnya relatif baru, ditambahkan pada git 1.7.10 (April 2012): opsi 'git clone --single-branch' untuk membatasi kloning pada satu cabang (kejutan!); tag yang tidak menunjukkan riwayat cabang tidak diambil. Sebagai contoh:
Di sini, untuk aplikasi "tautan" saya, saya memeriksa cabang
v3.0.10
sumber