Ini adalah perintah git-stash yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
git-stash - Simpan perubahan di direktori kerja yang kotor
RINGKASAN
git menyimpan Daftar [ ]
git menyimpan menunjukkan [ ]
git menyimpan jatuhkan [-q|--tenang] [ ]
git menyimpan ( pop | apply ) [--index] [-q|--quiet] [ ]
git menyimpan cabang [ ]
git menyimpan [simpan [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
[-u|--include-untracked] [-a|--all] [ ]]
git menyimpan jelas
git menyimpan membuat [ ]
git menyimpan simpan [-m|--pesan ] [-q|--tenang]
DESKRIPSI
Gunakan git stash saat Anda ingin merekam status direktori kerja saat ini dan
index, tetapi ingin kembali ke direktori kerja yang bersih. Perintah menyimpan lokal Anda
modifikasi dan mengembalikan direktori kerja agar sesuai dengan komit HEAD.
Modifikasi yang disembunyikan oleh perintah ini dapat didaftar dengan daftar simpanan git,
diperiksa dengan git stash show, dan dipulihkan (berpotensi di atas komit yang berbeda)
dengan git simpanan berlaku. Memanggil git stash tanpa argumen sama dengan git stash
menyimpan. Sebuah simpanan secara default terdaftar sebagai "WIP on nama cabang ...", tetapi Anda dapat memberi lebih banyak
pesan deskriptif pada baris perintah saat Anda membuatnya.
Simpanan terbaru yang Anda buat disimpan di ref/simpanan; simpanan yang lebih tua ditemukan di
reflog referensi ini dan dapat diberi nama menggunakan sintaks reflog biasa (mis. stash@{0} is
simpanan yang paling baru dibuat, simpanan@{1} adalah simpanan sebelumnya, simpanan@{2.hours.ago} adalah
juga mungkin).
PILIHAN
simpan [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet]
[ ]
Simpan modifikasi lokal Anda ke yang baru menyimpan, dan jalankan git reset --hard untuk mengembalikannya.
NS bagian adalah opsional dan memberikan deskripsi bersama dengan status simpanan.
Untuk membuat snapshot dengan cepat, Anda dapat menghilangkan kedua "simpan" dan , tapi hanya memberi
tidak memicu tindakan ini untuk mencegah pembuatan subperintah yang salah eja
simpanan yang tidak diinginkan.
Jika opsi --keep-index digunakan, semua perubahan yang sudah ditambahkan ke indeks akan dibiarkan
utuh.
Jika opsi --include-untracked digunakan, semua file yang tidak terlacak juga disimpan dan
kemudian dibersihkan dengan git clean, meninggalkan direktori kerja dalam keadaan sangat bersih.
Jika opsi --all digunakan sebagai gantinya maka file yang diabaikan akan disimpan dan dibersihkan
Selain file yang tidak terlacak.
Dengan --patch, Anda dapat secara interaktif memilih bongkahan dari perbedaan antara HEAD dan
pohon kerja untuk disimpan. Entri simpanan dibuat sedemikian rupa sehingga status indeksnya
sama dengan status indeks repositori Anda, dan worktree-nya hanya berisi
perubahan yang Anda pilih secara interaktif. Perubahan yang dipilih kemudian dibatalkan dari
pohon kerja Anda. Lihat bagian "Mode Interaktif" dari git-tambahkan(1) untuk mempelajari caranya
mengoperasikan mode --patch.
Opsi --patch menyiratkan --keep-index. Anda dapat menggunakan --no-keep-index untuk mengganti ini.
Daftar [ ]
Buat daftar simpanan yang Anda miliki saat ini. Setiap menyimpan terdaftar dengan namanya (mis
stash@{0} adalah simpanan terbaru, simpanan@{1} adalah simpanan sebelumnya, dll.), nama
cabang yang terkini saat simpanan dibuat, dan deskripsi singkat tentang komit
simpanan didasarkan pada.
stash@{0}: WIP saat dikirim: 6ebd0e2... Perbarui dokumentasi git-stash
stash@{1}: Pada master: 9cc0589... Tambahkan git-stash
Perintah mengambil opsi yang berlaku untuk git mencatat perintah untuk mengontrol apa yang ditampilkan
dan bagaimana. Lihat git-log(1).
menunjukkan [ ]
Tampilkan perubahan yang direkam dalam simpanan sebagai perbedaan antara status simpanan dan
induk asli. Ketika tidak diberikan, menunjukkan yang terbaru. Secara default,
perintah menunjukkan diffstat, tetapi akan menerima format apa pun yang diketahui git diff (misalnya, git
stash show -p stash@{1} untuk melihat simpanan terbaru kedua dalam bentuk tambalan). Kamu bisa
gunakan variabel konfigurasi stash.showStat dan/atau stash.showPatch untuk mengubah default
tingkah laku.
pop [--indeks] [-q|--tenang] [ ]
Hapus satu status simpanan dari daftar simpanan dan terapkan di atas saat ini
status pohon kerja, yaitu, melakukan operasi kebalikan dari git stash save. bekerja
direktori harus cocok dengan index.
Menerapkan negara bisa gagal dengan konflik; dalam hal ini, itu tidak dihapus dari
daftar simpanan. Anda perlu menyelesaikan konflik dengan tangan dan memanggil git stash drop secara manual
setelah itu.
Jika opsi --index digunakan, maka coba untuk memulihkan tidak hanya pohon kerja
perubahan, tetapi juga yang indeks. Namun, ini bisa gagal, ketika Anda memiliki konflik
(yang disimpan dalam indeks, di mana Anda tidak dapat lagi menerapkan perubahan sebagai
mereka awalnya).
Ketika tidak diberikan, simpanan@{0} diasumsikan, jika tidak harus menjadi referensi
dari bentuk simpanan@{ }.
terapkan [--indeks] [-q|--tenang] [ ]
Seperti pop, tetapi jangan hapus status dari daftar simpanan. Tidak seperti pop, mungkin
komit apa pun yang terlihat seperti komit yang dibuat oleh simpanan simpanan atau buat simpanan.
cabang [ ]
Membuat dan memeriksa cabang baru bernama mulai dari komit di
yang mana awalnya dibuat, menerapkan perubahan yang direkam di ke
pohon kerja baru dan indeks. Jika itu berhasil, dan adalah referensi dari
bentuk simpanan@{ }, kemudian menjatuhkan . Ketika tidak diberikan, berlaku
yang terbaru.
Ini berguna jika cabang tempat Anda menjalankan git stash save telah cukup berubah
git stash apply gagal karena konflik. Karena simpanan diterapkan di atas
komit yang HEAD pada saat git stash dijalankan, itu mengembalikan yang semula disimpan
negara tanpa konflik.
jelas
Hapus semua status yang disimpan. Perhatikan bahwa negara-negara tersebut kemudian akan dikenakan pemangkasan,
dan mungkin tidak mungkin untuk dipulihkan (lihat contoh di bawah ini untuk kemungkinan strategi).
jatuhkan [-q|--tenang] [ ]
Hapus satu status simpanan dari daftar simpanan. Ketika tidak diberikan, itu
menghapus yang terbaru. yaitu simpanan@{0}, jika tidak harus berupa log simpanan yang valid
referensi formulir simpanan@{ }.
membuat
Buat simpanan (yang merupakan objek komit biasa) dan kembalikan nama objeknya, tanpa
menyimpannya di mana saja di namespace ref. Ini dimaksudkan agar berguna untuk skrip.
Ini mungkin bukan perintah yang ingin Anda gunakan; lihat "simpan" di atas.
menyimpan
Simpan simpanan tertentu yang dibuat melalui git menyimpan membuat (yang merupakan komit gabungan yang menjuntai) di
ref simpanan, memperbarui reflog simpanan. Ini dimaksudkan agar berguna untuk skrip.
Ini mungkin bukan perintah yang ingin Anda gunakan; lihat "simpan" di atas.
PEMBAHASAN
Sebuah simpanan direpresentasikan sebagai komit yang pohonnya mencatat status direktori kerja,
dan induk pertamanya adalah komit di HEAD saat simpanan dibuat. Pohon dari
induk kedua mencatat status indeks saat simpanan dibuat, dan itu dibuat sebagai
anak dari KEPALA komit. Grafik leluhur terlihat seperti ini:
.----W
/ /
-----HAI
di mana H adalah komit HEAD, saya adalah komit yang mencatat status indeks, dan W adalah a
komit yang mencatat status pohon kerja.
CONTOH
Menarik ke pohon yang kotor
Ketika Anda berada di tengah-tengah sesuatu, Anda belajar bahwa ada perubahan hulu
yang mungkin relevan dengan apa yang Anda lakukan. Ketika perubahan lokal Anda tidak
bertentangan dengan perubahan di hulu, tarikan git sederhana akan membuat Anda bergerak
meneruskan.
Namun, ada kasus di mana perubahan lokal Anda bertentangan dengan hulu
perubahan, dan git pull menolak untuk menimpa perubahan Anda. Dalam kasus seperti itu, Anda dapat menyimpan
perubahan Anda, lakukan tarikan, lalu hapus simpanan, seperti ini:
$ git tarik
...
file foobar tidak terbaru, tidak dapat digabungkan.
$ git simpanan
$ git tarik
$ git simpanan pop
Alur kerja terganggu
Ketika Anda berada di tengah-tengah sesuatu, bos Anda datang dan menuntut Anda untuk memperbaikinya
sesuatu dengan segera. Secara tradisional, Anda akan membuat komitmen ke cabang sementara untuk
simpan perubahan Anda, dan kembali ke cabang asli Anda untuk melakukan perbaikan darurat,
seperti ini:
# ... retas retas retas ...
$ git checkout -b my_wip
$ git commit -a -m "WIP"
$git checkout master
$ edit perbaikan darurat
$ git commit -a -m "Perbaiki dengan cepat"
$ git checkout my_wip
$ git reset --KEPALA lembut^
# ... lanjutkan peretasan ...
Anda dapat menggunakan git menyimpan untuk menyederhanakan di atas, seperti ini:
# ... retas retas retas ...
$ git simpanan
$ edit perbaikan darurat
$ git commit -a -m "Perbaiki dengan cepat"
$ git simpanan pop
# ... lanjutkan peretasan ...
Menguji komitmen sebagian
Anda dapat menggunakan git stash save --keep-index ketika Anda ingin membuat dua atau lebih komit
perubahan di pohon kerja, dan Anda ingin menguji setiap perubahan sebelum melakukan:
# ... retas retas retas ...
$ git add --patch foo # tambahkan hanya bagian pertama ke indeks
$ git stash save --keep-index # simpan semua perubahan lain ke simpanan
$ edit/build/test bagian pertama
$ git commit -m 'Bagian pertama' # commit perubahan yang telah diuji sepenuhnya
$ git stash pop # bersiap untuk mengerjakan semua perubahan lainnya
# ... ulangi lima langkah di atas sampai satu komit tetap ...
$ mengedit/membangun/menguji bagian yang tersisa
$ git commit foo -m 'Bagian yang tersisa'
Memulihkan simpanan yang dihapus/dijatuhkan secara keliru
Jika Anda salah menjatuhkan atau menghapus simpanan, mereka tidak dapat dipulihkan melalui normal
mekanisme keamanan. Namun, Anda dapat mencoba mantra berikut untuk mendapatkan daftar
simpanan yang masih ada di repositori Anda, tetapi tidak dapat dijangkau lagi:
git fsck --tidak dapat dijangkau |
grep komit | potong -d\ -f3 |
xargs git log --merges --tidak berjalan --grep=WIP
Gunakan git-stash online menggunakan layanan onworks.net