EnglishFrenchSpanyol

Favicon OnWorks

git-read-tree - Dalam talian di Awan

Jalankan git-read-tree dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan git-read-tree yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


git-read-tree - Membaca maklumat pokok ke dalam indeks

SINOPSIS


pergi pokok baca [[-m [--remeh] [--agresif] | --set semula | --awalan= ]
[-u [--exclude-per-directory= ] | -i]]
[--index-output= ] [--tiada-jarang-keluar]
(--kosong | [ [ ]])

DESCRIPTION


Membaca maklumat pokok yang diberikan oleh ke dalam indeks, tetapi sebenarnya tidak
maklumat mana-mana fail yang "cache". (lihat: git-checkout-index(1))

Secara pilihan, ia boleh menggabungkan pokok ke dalam indeks, melakukan gabungan ke hadapan pantas (iaitu 2 hala),
atau gabungan 3 hala, dengan bendera -m. Apabila digunakan dengan -m, bendera -u menyebabkannya juga
kemas kini fail dalam pokok kerja dengan hasil gabungan.

Cantuman remeh dilakukan oleh pergi pokok baca sendiri. Hanya laluan yang bercanggah akan masuk
keadaan tidak bercantum apabila pergi pokok baca pulangan.

PILIHAN


-m
Lakukan penggabungan, bukan sekadar bacaan. Perintah itu akan menolak untuk dijalankan jika fail indeks anda
mempunyai entri yang tidak digabungkan, menunjukkan bahawa anda belum selesai menggabungkan anda sebelum ini
bermula.

--set semula
Sama seperti -m, kecuali entri yang tidak digabungkan akan dibuang dan bukannya gagal.

-u
Selepas gabungan berjaya, kemas kini fail dalam pepohon kerja dengan hasil daripada
bercantum.

-i
Biasanya penggabungan memerlukan fail indeks dan juga fail dalam pokok kerja
terkini dengan komit kepala semasa, agar tidak kehilangan perubahan setempat. Bendera ini
melumpuhkan semakan dengan pepohon berfungsi dan bertujuan untuk digunakan semasa membuat gabungan
pokok yang tidak berkaitan langsung dengan status pokok kerja semasa menjadi a
fail indeks sementara.

-n, --lari kering
Semak sama ada arahan akan ralat, tanpa mengemas kini indeks atau fail dalam
pokok bekerja untuk sebenar.

-v
Tunjukkan kemajuan menyemak fail keluar.

--remeh
Hadkan cantuman tiga hala oleh pergi pokok baca berlaku hanya jika tiada tahap fail
penggabungan diperlukan, bukannya menyelesaikan gabungan untuk kes remeh dan meninggalkan konflik
fail tidak diselesaikan dalam indeks.

--agresif
Biasanya gabungan tiga hala oleh pergi pokok baca menyelesaikan gabungan untuk kes yang sangat remeh
dan meninggalkan kes lain tidak dapat diselesaikan dalam indeks, supaya porselin boleh dilaksanakan
dasar gabungan yang berbeza. Bendera ini menjadikan arahan menyelesaikan beberapa kes lagi
secara dalaman:

· apabila satu pihak mengalihkan laluan dan sebelah lagi meninggalkan laluan tanpa diubah suai. The
resolusi adalah untuk membuang laluan itu.

· apabila kedua-dua belah pihak mengalihkan laluan. Resolusinya adalah untuk membuang laluan itu.

· apabila kedua-dua belah menambah laluan secara identik. Resolusinya adalah untuk menambah laluan itu.

--awalan= /
Simpan kandungan indeks semasa, dan baca kandungan tree-ish yang dinamakan di bawah
direktori di . Perintah itu akan menolak untuk menulis ganti entri yang sudah
wujud dalam fail indeks asal. Perhatikan bahawa / nilai mesti berakhir dengan a
tebas.

--exclude-per-directory=
Apabila menjalankan arahan dengan pilihan -u dan -m, hasil gabungan mungkin perlu
tulis ganti laluan yang tidak dijejaki dalam cawangan semasa. Perintah biasanya
enggan meneruskan penggabungan untuk mengelakkan kehilangan laluan sedemikian. Bagaimanapun keselamatan ini
injap kadang-kadang menghalang. Sebagai contoh, ia sering berlaku bahawa cawangan lain
menambah fail yang pernah menjadi fail yang dijana dalam cawangan anda dan injap keselamatan
mencetuskan apabila anda cuba beralih ke cawangan itu selepas anda berlari membuat tetapi sebelum berlari
buat bersih untuk mengalih keluar fail yang dijana. Pilihan ini memberitahu arahan untuk membaca
per-direktori tidak termasuk fail (biasanya .giignore) dan membenarkan sedemikian yang tidak dikesan tetapi
fail diabaikan secara eksplisit untuk ditimpa.

--index-output=
Daripada menulis keputusan kepada $GIT_INDEX_FILE, tulis indeks yang terhasil
fail bernama. Semasa arahan beroperasi, fail indeks asal dikunci dengan
mekanisme yang sama seperti biasa. Fail mesti dibenarkan menjadi menamakan semula(2)ed into from a
fail sementara yang dibuat bersebelahan dengan fail indeks biasa; biasanya ini bermakna ia
perlu berada pada sistem fail yang sama dengan fail indeks itu sendiri, dan anda perlu menulis
kebenaran ke direktori fail indeks dan fail output indeks terletak di dalamnya.

--tidak-jarang-keluar
Lumpuhkan sokongan daftar keluar jarang walaupun core.sparseCheckout adalah benar.

--kosong
Daripada membaca objek pokok ke dalam indeks, cuma kosongkannya.


Id objek pokok untuk dibaca/digabungkan.

PENGGABUNGAN


Jika -m dinyatakan, pergi pokok baca boleh melakukan 3 jenis cantuman, satu pokok cantum jika
hanya 1 pokok diberikan, cantuman ke hadapan pantas dengan 2 pokok, atau cantuman 3 hala jika 3 pokok
disediakan.

tunggal Tree Bergabung
Jika hanya 1 pokok dinyatakan, pergi pokok baca beroperasi seolah-olah pengguna tidak menyatakan -m,
kecuali jika indeks asal mempunyai entri untuk nama laluan yang diberikan, dan kandungannya
padanan laluan dengan pokok yang dibaca, maklumat statistik daripada indeks digunakan. (Dalam lain
perkataan, stat() indeks diutamakan daripada pokok yang digabungkan).

Ini bermakna jika anda melakukan git read-tree -m diikuti dengan git checkout-index -f
-u -a, yang pergi daftar keluar-indeks hanya menyemak perkara yang benar-benar berubah.

Ini digunakan untuk mengelakkan hentaman palsu yang tidak perlu apabila pergi diff-files dikejar pergi
pokok baca.

Dua Tree Bergabung
Biasanya, ini digunakan sebagai git read-tree -m $H $M, dengan $H ialah komit kepala bagi
repositori semasa, dan $M ialah kepala pokok asing, yang berada di hadapan $H
(iaitu kita berada dalam situasi ke hadapan).

Apabila dua pokok ditentukan, pengguna memberitahu pergi pokok baca yang berikut:

1. Indeks semasa dan pepohon kerja diperoleh daripada $H, tetapi pengguna mungkin mempunyai setempat
perubahan pada mereka sejak $H.

2. Pengguna ingin memajukan pantas ke $M.

Dalam kes ini, arahan git read-tree -m $H $M memastikan tiada perubahan setempat hilang
sebagai hasil daripada "gabungan" ini. Berikut ialah peraturan "teruskan", di mana "Saya" menandakan
indeks, "bersih" bermaksud indeks dan pokok kerja bertepatan, dan "wujud"/"tiada" merujuk kepada
kehadiran laluan dalam komit yang ditentukan:

Keputusan IHM
-------------------------------------------------- -----
0 tiada tiada tiada (tidak berlaku)
1 tiada tiada apa yang wujud gunakan M
2 tiada apa-apa wujud tiada keluarkan laluan daripada indeks
3 tiada apa-apa wujud, gunakan M jika "pembayaran awal",
H == M simpan indeks sebaliknya
wujud, gagal
H != M

bersih I==HI==M
------------------
4 ya T/AN/A tiada apa-apa simpan indeks
5 tiada N/AN/A tiada apa-apa simpan indeks

6 ya T/A ya tiada apa-apa wujud simpan indeks
7 tidak T/A ya tiada apa-apa wujud simpan indeks
8 ya T/A tidak tiada yang wujud gagal
9 tiada T/A tiada tiada wujud gagal

10 ya ya N/A wujud tiada apa-apa keluarkan laluan daripada indeks
11 tidak ya T/T wujud tiada yang gagal
12 ya tidak T/A wujud tiada yang gagal
13 tidak tiada T/A wujud tiada gagal

bersih (H==M)
------
14 ya wujud wujud simpan indeks
15 tiada wujud wujud simpan indeks

bersih I==HI==M (H!=M)
------------------
16 ya tidak tidak wujud wujud gagal
17 tidak tidak tidak wujud wujud gagal
18 ya tidak ya wujud wujud simpan indeks
19 tidak tidak ya wujud wujud simpan indeks
20 ya ya tidak wujud wujud gunakan M
21 tidak ya tidak wujud wujud gagal

Dalam semua kes "simpan indeks", entri indeks kekal seperti dalam fail indeks asal. Sekiranya
entri tidak terkini, pergi pokok baca menyimpan salinan dalam pokok kerja utuh apabila
beroperasi di bawah bendera -u.

Apabila bentuk ini pergi pokok baca kembali dengan jayanya, anda boleh melihat yang mana antara "local
perubahan" yang anda buat telah dibawa ke hadapan dengan menjalankan git diff-index --cached $M. Nota
bahawa ini tidak semestinya sepadan dengan apa yang git diff-index --cached $H akan dihasilkan
sebelum dua pokok itu bergabung. Ini kerana kes 18 dan 19 --- jika anda sudah ada
perubahan dalam $M (cth mungkin anda mengambilnya melalui e-mel dalam bentuk tampalan), git diff-index
--cached $H akan memberitahu anda tentang perubahan sebelum gabungan ini, tetapi ia tidak akan ditunjukkan
dalam git diff-index --cached $M output selepas gabungan dua pokok.

Kes 3 agak rumit dan memerlukan penjelasan. Hasil daripada peraturan ini secara logik
sepatutnya mengalih keluar laluan jika pengguna melakukan penyingkiran laluan dan kemudian menukar
ke cawangan baru. Itu bagaimanapun akan menghalang pembayaran awal daripada berlaku, jadi
peraturan diubah suai untuk menggunakan M (pokok baharu) hanya apabila kandungan indeks kosong.
Jika tidak, pengalihan laluan itu disimpan selagi $H dan $M adalah sama.

3-Way Bergabung
Setiap entri "indeks" mempunyai dua bit keadaan "peringkat". peringkat 0 adalah yang biasa, dan adalah
satu-satunya yang anda akan lihat dalam apa-apa jenis penggunaan biasa.

Walau bagaimanapun, apabila anda melakukannya pergi pokok baca dengan tiga pokok, "pentas" bermula pada 1.

Ini bermakna anda boleh lakukan

$ git read-tree -m

dan anda akan mendapat indeks dengan semua entri dalam "peringkat1", semua
entri dalam "peringkat2" dan semua entri dalam "peringkat2". Semasa melakukan a
menggabungkan cawangan lain ke dalam cawangan semasa, kami menggunakan pokok nenek moyang biasa sebagai
, ketua cawangan semasa sebagai , dan ketua cawangan yang lain sebagai .

Tambahan pula, pergi pokok baca mempunyai logik kes khas yang mengatakan: jika anda melihat fail yang
sepadan dalam semua aspek di negeri berikut, ia "runtuh" ​​kembali ke "peringkat0":

· peringkat 2 dan 3 adalah sama; ambil satu atau yang lain (tiada bezanya - sama
kerja telah dilakukan di cawangan kami di peringkat 2 dan cawangan mereka di peringkat 3)

· peringkat 1 dan peringkat 2 adalah sama dan peringkat 3 adalah berbeza; ambil peringkat 3 (cawangan kami di
tahap 2 tidak melakukan apa-apa sejak moyang di peringkat 1 manakala cawangan mereka di peringkat
3 telah mengusahakannya)

· peringkat 1 dan peringkat 3 adalah sama dan peringkat 2 berbeza mengambil peringkat 2 (kami lakukan
sesuatu sedangkan mereka tidak melakukan apa-apa)

. pergi pokok tulis perintah enggan menulis pokok yang tidak masuk akal, dan ia akan mengadu
entri tidak digabungkan jika ia melihat satu entri yang bukan peringkat 0.

OK, ini semua kelihatan seperti koleksi peraturan yang tidak masuk akal, tetapi sebenarnya
apa yang anda mahukan untuk melakukan gabungan pantas. Peringkat yang berbeza mewakili
"pokok keputusan" (peringkat 0, aka "digabungkan"), pokok asal (peringkat 1, aka "asal"), dan
dua pokok yang anda cuba gabungkan (masing-masing peringkat 2 dan 3).

Susunan peringkat 1, 2 dan 3 (maka tertib tiga baris arahan
arguments) adalah penting apabila anda memulakan gabungan 3 hala dengan fail indeks yang sudah ada
berpenduduk. Berikut ialah garis besar cara algoritma berfungsi:

· jika fail wujud dalam format yang sama dalam ketiga-tiga pokok, ia akan secara automatik
runtuh kepada keadaan "digabungkan" oleh pergi pokok baca.

· fail yang mempunyai mana-mana perbezaan apa-apa-apa-apa dalam tiga pokok akan kekal sebagai berasingan
entri dalam indeks. Terpulang kepada "dasar porselin" untuk menentukan cara membuangnya
bukan 0 peringkat, dan masukkan versi gabungan.

· fail indeks menyimpan dan memulihkan dengan semua maklumat ini, supaya anda boleh menggabungkan perkara
secara berperingkat, tetapi selagi ia mempunyai entri dalam peringkat 1/2/3 (iaitu, "tidak digabungkan
entri") anda tidak boleh menulis hasilnya. Jadi kini algoritma gabungan akhirnya menjadi benar-benar
mudah:

· anda berjalan mengikut indeks, dan mengabaikan semua entri peringkat 0, kerana ia telah
sudah dilakukan.

· jika anda menemui "stage1", tetapi tiada "stage2" atau "stage3" yang sepadan, anda tahu ia telah berlaku
dialih keluar daripada kedua-dua pokok (ia hanya wujud dalam pokok asal), dan anda mengalih keluar
entri itu.

· jika anda menemui pokok "stage2" dan "stage3" yang sepadan, anda mengalih keluar salah satu daripadanya, dan
tukar yang satu lagi menjadi entri "stage0". Alih keluar sebarang entri "stage1" yang sepadan jika ia
wujud juga. .. semua peraturan remeh biasa..

Anda biasanya akan menggunakan pergi indeks gabungan dengan dibekalkan pergi merge-one-file untuk melakukan ini yang terakhir
langkah. Skrip mengemas kini fail dalam pepohon kerja kerana ia menggabungkan setiap laluan dan di
berakhirnya gabungan yang berjaya.

Apabila anda memulakan gabungan 3 hala dengan fail indeks yang telah diisi, ia dianggap
bahawa ia mewakili keadaan fail dalam pepohon kerja anda, dan anda juga boleh mempunyai fail
dengan perubahan yang tidak direkodkan dalam fail indeks. Selanjutnya diandaikan bahawa negeri ini adalah
"berasal" daripada pokok peringkat 2. Gabungan 3 hala enggan dijalankan jika ia menjumpai masukan masuk
fail indeks asal yang tidak sepadan dengan tahap 2.

Ini dilakukan untuk menghalang anda daripada kehilangan perubahan kerja yang sedang dijalankan dan mencampurkan perubahan anda
perubahan rawak dalam komit gabungan yang tidak berkaitan. Untuk menggambarkan, andaikan anda bermula dari apa
telah dilakukan terakhir ke repositori anda:

$ JC=`git rev-parse --verify "HEAD^0"`
$ git checkout-index -f -u -a $JC

Anda melakukan suntingan rawak, tanpa berlari pergi indeks kemas kini. Dan kemudian anda perasan bahawa hujung
pokok "hulu" anda telah maju sejak anda menarik darinya:

$ git fetch git://.... linus
$ LT=`git rev-parse FETCH_HEAD`

Pohon kerja anda masih berdasarkan HEAD ($JC) anda, tetapi anda mempunyai beberapa suntingan sejak itu. Tiga cara
merge memastikan bahawa anda tidak menambah atau mengubah suai entri indeks sejak $JC, dan jika anda
belum, maka lakukan perkara yang betul. Jadi dengan urutan berikut:

$ git read-tree -m -u `git merge-base $JC $LT` $JC $LT
$ git merge-index git-merge-one-file -a
$ echo "Gabung dengan Linus" | \
git commit-tree `git write-tree` -p $JC -p $LT

apa yang anda akan lakukan ialah gabungan tulen antara $JC dan $LT tanpa kerja anda yang sedang berjalan
perubahan, dan pokok kerja anda akan dikemas kini kepada hasil gabungan.

Walau bagaimanapun, jika anda mempunyai perubahan setempat dalam pepohon kerja yang akan ditimpa oleh ini
bergabung, pergi pokok baca akan menolak untuk menjalankan untuk mengelakkan perubahan anda daripada hilang.

Dalam erti kata lain, tidak perlu risau tentang apa yang hanya wujud dalam pokok kerja. Bila
anda mempunyai perubahan setempat dalam sebahagian daripada projek yang tidak terlibat dalam gabungan, your
perubahan tidak mengganggu gabungan, dan disimpan utuh. Apabila mereka do campur tangan, yang
penggabungan tidak bermula (pergi pokok baca mengeluh dengan kuat dan gagal tanpa mengubah suai
apa-apa). Dalam kes sedemikian, anda boleh terus melakukan apa yang anda lakukan
melakukan, dan apabila pokok kerja anda sedia (iaitu anda telah menyelesaikan kerja-kerja anda yang sedang berjalan),
cuba gabungan sekali lagi.

JARANG CHECKOUT


"Sparse checkout" membenarkan mengisi direktori kerja dengan jarang. Ia menggunakan
skip-worktree bit (lihat git-update-index(1)) untuk memberitahu Git sama ada fail dalam kerja
direktori patut dilihat.

pergi pokok baca dan arahan berasaskan gabungan lain (pergi bergabung, pergi checkout...) boleh tolong
mengekalkan bitmap skip-worktree dan kemas kini direktori kerja.
$GIT_DIR/info/sparse-checkout digunakan untuk mentakrifkan peta bit rujukan skip-worktree. Bila
pergi pokok baca perlu mengemas kini direktori kerja, ia menetapkan semula bit skip-worktree masuk
indeks berdasarkan fail ini, yang menggunakan sintaks yang sama seperti fail .gitignore. Jika entri
sepadan dengan corak dalam fail ini, skip-worktree tidak akan ditetapkan pada entri itu. Jika tidak,
skip-worktree akan ditetapkan.

Kemudian ia membandingkan nilai skip-worktree baharu dengan yang sebelumnya. Jika skip-worktree bertukar
daripada ditetapkan kepada tidak ditetapkan, ia akan menambah semula fail yang sepadan. Jika ia bertukar daripada tidak ditetapkan kepada ditetapkan,
fail itu akan dialih keluar.

Walaupun $GIT_DIR/info/sparse-checkout biasanya digunakan untuk menentukan jenis fail, anda boleh
juga nyatakan apakah fail tidak dalam, menggunakan corak menafikan. Sebagai contoh, untuk mengalih keluar fail
tidak diingini:

/*
!tidak diingini

Satu lagi perkara yang rumit ialah mengisi semula direktori kerja sepenuhnya apabila anda tidak mahu lagi
daftar keluar jarang. Anda tidak boleh melumpuhkan "jarang keluar" sahaja kerana bit skip-worktree adalah
masih dalam indeks dan direktori kerja anda masih jarang penduduknya. Kamu patut
isi semula direktori kerja dengan kandungan fail $GIT_DIR/info/sparse-checkout sebagai
ikut:

/*

Kemudian anda boleh melumpuhkan daftar keluar jarang. Sokongan daftar keluar jarang masuk pergi pokok baca dan serupa
arahan dilumpuhkan secara lalai. Anda perlu menghidupkan core.sparseCheckout untuk mendapatkannya
sokongan daftar keluar jarang.

Gunakan git-read-tree dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

Arahan Linux

Ad