Ito ang command na git-stash na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
git-stash - Itago ang mga pagbabago sa isang maruming direktoryo na gumagana
SINOPSIS
pumunta madapa listahan [ ]
pumunta madapa ipakita [ ]
pumunta madapa ihulog [-q|--tahimik] [ ]
pumunta madapa ( pop | ilapat ) [--index] [-q|--tahimik] [ ]
pumunta madapa sangay [ ]
pumunta madapa [save [-p|--patch] [-k|--[no-]keep-index] [-q|--tahimik]
[-u|--include-untracked] [-a|--lahat] [ ]]
pumunta madapa limasin
pumunta madapa lumikha [ ]
pumunta madapa tindahan [-m|--mensahe ] [-q|--tahimik]
DESCRIPTION
Gumamit ng git stash kapag gusto mong i-record ang kasalukuyang estado ng working directory at ang
index, ngunit nais na bumalik sa isang malinis na direktoryo ng trabaho. Ang utos ay nagse-save sa iyong lokal
mga pagbabago at ibinabalik ang gumaganang direktoryo upang tumugma sa HEAD commit.
Ang mga pagbabagong itinago ng utos na ito ay maaaring ilista sa git stash list,
na-inspeksyon gamit ang git stash show, at na-restore (malamang sa ibabaw ng ibang commit)
gamit ang git stash apply. Ang pagtawag sa git stash nang walang anumang argumento ay katumbas ng git stash
iligtas. Ang isang itago ay bilang default na nakalista bilang "WIP on pangalan ng sangay ...", ngunit maaari kang magbigay ng higit pa
naglalarawang mensahe sa command line kapag gumawa ka ng isa.
Ang pinakabagong stash na ginawa mo ay naka-store sa ref/stash; ang mga lumang itago ay matatagpuan sa
reflog ng reference na ito at maaaring pangalanan gamit ang karaniwang reflog syntax (hal. stash@{0} ay
ang pinakakamakailang ginawang itago, ang stash@{1} ay ang bago nito, ang stash@{2.hours.ago} ay
posible rin).
Opsyon
i-save [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--lahat] [-q|--tahimik]
[ ]
I-save ang iyong mga lokal na pagbabago sa bago madapa, at patakbuhin ang git reset --hard to revert them.
Ang Ang bahagi ay opsyonal at nagbibigay ng paglalarawan kasama ang nakatagong estado.
Para sa mabilis na paggawa ng snapshot, maaari mong alisin kapwa "i-save" at , ngunit nagbibigay lamang
ay hindi nagpapalitaw sa pagkilos na ito upang maiwasan ang paggawa ng maling spelling na subcommand
isang hindi gustong itago.
Kung ang --keep-index na opsyon ay ginagamit, lahat ng mga pagbabagong naidagdag na sa index ay naiwan
buo.
Kung gagamitin ang --include-untracked na opsyon, ang lahat ng hindi nasubaybayang file ay itatabi rin at
pagkatapos ay nilinis gamit ang git clean, na iniiwan ang gumaganang direktoryo sa isang napakalinis na estado.
Kung ang --all na opsyon ang ginamit sa halip, ang mga hindi pinansin na file ay itatabi at nililinis
karagdagan sa mga hindi sinusubaybayang file.
Sa --patch, maaari kang interactive na pumili ng mga hunk mula sa pagkakaiba sa pagitan ng HEAD at ng
gumaganang puno upang itago. Ang stash entry ay itinayo upang ang estado ng index nito
ay kapareho ng estado ng index ng iyong imbakan, at ang worktree nito ay naglalaman lamang ng
mga pagbabagong pinili mo nang interactive. Ang mga napiling pagbabago ay i-roll back mula sa
iyong worktree. Tingnan ang seksyong "Interactive Mode" ng git-add(1) upang malaman kung paano
patakbuhin ang --patch mode.
Ang --patch na opsyon ay nagpapahiwatig --keep-index. Maaari mong gamitin ang --no-keep-index upang i-override ito.
listahan [ ]
Ilista ang mga itago na mayroon ka sa kasalukuyan. Bawat isa madapa ay nakalista kasama ang pangalan nito (hal
ang stash@{0} ay ang pinakabagong itago, ang stash@{1} ay ang nauna, atbp.), ang pangalan ng
branch na kasalukuyan noong ginawa ang itago, at isang maikling paglalarawan ng commit
ang itago ay batay sa.
stash@{0}: WIP sa pagsusumite: 6ebd0e2... I-update ang dokumentasyon ng git-stash
stash@{1}: Sa master: 9cc0589... Magdagdag ng git-stash
Ang command ay tumatagal ng mga opsyon na naaangkop sa pumunta mag-log utos na kontrolin ang ipinapakita
at kung paano. Tingnan mo git-logNa (1).
ipakita [ ]
Ipakita ang mga pagbabagong naitala sa itago bilang pagkakaiba sa pagitan ng nakatagong estado at nito
orihinal na magulang. Kapag hindi ay ibinigay, nagpapakita ng pinakabago. Bilang default, ang
Ipinapakita ng command ang diffstat, ngunit tatanggapin nito ang anumang format na alam pumunta Diff (hal., git
stash show -p stash@{1} upang tingnan ang pangalawang pinakakamakailang itago sa patch form). Kaya mo
gumamit ng stash.showStat at/o stash.showPatch config variable upang baguhin ang default
pag-uugali.
pop [--index] [-q|--tahimik] [ ]
Mag-alis ng isang nakatago na estado mula sa listahan ng itago at ilapat ito sa ibabaw ng kasalukuyang
working tree state, ibig sabihin, gawin ang kabaligtaran na operasyon ng git stash save. Ang pagtatrabaho
dapat tumugma ang direktoryo sa index.
Ang paglalapat ng estado ay maaaring mabigo sa mga salungatan; sa kasong ito, hindi ito tinanggal mula sa
listahan ng itago. Kailangan mong lutasin ang mga salungatan sa pamamagitan ng kamay at manu-manong tawagan ang git stash drop
pagkatapos.
Kung ang --index na opsyon ay ginagamit, pagkatapos ay susubukan na ibalik hindi lamang ang gumaganang puno
mga pagbabago, ngunit pati na rin ang mga index. Gayunpaman, maaari itong mabigo, kapag mayroon kang mga salungatan
(na nakaimbak sa index, kung saan hindi mo na mailalapat ang mga pagbabago bilang
sila ay orihinal).
Kapag hindi ay ibinigay, ang stash@{0} ay ipinapalagay, kung hindi dapat ay isang sanggunian
ng form na stash@{ }.
ilapat [--index] [-q|--tahimik] [ ]
Tulad ng pop, ngunit huwag alisin ang estado mula sa listahan ng itago. Hindi tulad ng pop, maaaring
anumang commit na mukhang isang commit na ginawa ng stash save o stash create.
sangay [ ]
Gumagawa at tumitingin ng bagong sangay na pinangalanan simula sa commit sa
na ang ay orihinal na nilikha, inilalapat ang mga pagbabagong naitala sa sa
ang bagong working tree at index. Kung magtagumpay iyon, at ay isang sanggunian ng
form stash@{ }, pagkatapos ay ibinabagsak nito ang . Kapag hindi ay ibinigay, nalalapat
ang pinakabago.
Ito ay kapaki-pakinabang kung ang sangay kung saan ka nagpatakbo ng git stash save ay nagbago nang sapat na iyon
Nabigo ang git stash apply dahil sa mga salungatan. Dahil ang itago ay inilapat sa ibabaw ng
commit na HEAD sa oras na tumakbo ang git stash, ibinabalik nito ang orihinal na nakatago
estado na walang salungatan.
limasin
Alisin ang lahat ng nakatagong estado. Tandaan na ang mga estadong iyon ay sasailalim sa pruning,
at maaaring imposibleng mabawi (tingnan Mga halimbawa sa ibaba para sa isang posibleng diskarte).
ihulog [-q|--tahimik] [ ]
Mag-alis ng isang nakatago na estado mula sa listahan ng itago. Kapag hindi ay ibinigay, ito
inaalis ang pinakabago. ibig sabihin, stash@{0}, kung hindi dapat ay isang wastong stash log
reference ng form stash@{ }.
lumikha
Gumawa ng isang itago (na isang regular na commit object) at ibalik ang pangalan ng object nito, nang wala
iniimbak ito kahit saan sa ref namespace. Ito ay nilayon upang maging kapaki-pakinabang para sa mga script.
Malamang na hindi ito ang utos na gusto mong gamitin; tingnan ang "i-save" sa itaas.
mag-imbak
Mag-imbak ng ibinigay na itago na ginawa sa pamamagitan ng pumunta madapa lumikha (na isang dangling merge commit) sa
ang itago ref, ina-update ang itago reflog. Ito ay nilayon upang maging kapaki-pakinabang para sa mga script.
Malamang na hindi ito ang utos na gusto mong gamitin; tingnan ang "i-save" sa itaas.
Pagtalakay
Ang isang itago ay kinakatawan bilang isang commit na ang puno ay nagtatala ng estado ng gumaganang direktoryo,
at ang unang magulang nito ay ang commit sa HEAD noong ginawa ang stash. Ang puno ng
Itinatala ng pangalawang magulang ang estado ng index kapag ginawa ang itago, at ginawa itong a
anak ng HEAD commit. Ganito ang hitsura ng graph ng ninuno:
.----W
/ /
-----H----ako
kung saan ang H ay ang HEAD commit, ako ay isang commit na nagtatala ng estado ng index, at ang W ay isang
commit na nagtatala ng estado ng working tree.
HALIMBAWA
Hinihila sa isang maruming puno
Kapag ikaw ay nasa gitna ng isang bagay, nalaman mo na may mga upstream na pagbabago
na posibleng may kaugnayan sa iyong ginagawa. Kapag ang iyong lokal na pagbabago ay hindi
sumasalungat sa mga pagbabago sa upstream, ang isang simpleng git pull ay hahayaan kang lumipat
pasulong.
Gayunpaman, may mga kaso kung saan ang iyong mga lokal na pagbabago ay sumasalungat sa upstream
mga pagbabago, at tumanggi ang git pull na i-overwrite ang iyong mga pagbabago. Sa ganoong kaso, maaari mong itago
ang iyong mga pagbabago, magsagawa ng paghila, at pagkatapos ay i-unstash, tulad nito:
$ git pull
...
hindi napapanahon ang file na foobar, hindi maaaring pagsamahin.
$ git itago
$ git pull
$ git stash pop
Naantala ang daloy ng trabaho
Kapag ikaw ay nasa gitna ng isang bagay, ang iyong boss ay pumasok at hinihiling na ayusin mo
isang bagay kaagad. Ayon sa kaugalian, gagawa ka ng isang pangako sa isang pansamantalang sangay upang
itago ang iyong mga pagbabago, at bumalik sa iyong orihinal na sangay upang gawin ang emergency na pag-aayos,
ganito:
# ... hack hack hack ...
$ git checkout -b my_wip
$ git commit -a -m "WIP"
$ git checkout master
$ i-edit ang emergency na pag-aayos
$ git commit -a -m "Ayusin nang nagmamadali"
$ git checkout my_wip
$ git reset --soft HEAD^
# ... ipagpatuloy ang pag-hack ...
Maaari mong gamitin ang pumunta madapa upang gawing simple ang nasa itaas, tulad nito:
# ... hack hack hack ...
$ git itago
$ i-edit ang emergency na pag-aayos
$ git commit -a -m "Ayusin nang nagmamadali"
$ git stash pop
# ... ipagpatuloy ang pag-hack ...
Pagsubok ng mga partial commit
Maaari mong gamitin ang git stash save --keep-index kapag gusto mong gumawa ng dalawa o higit pang commit
ng mga pagbabago sa work tree, at gusto mong subukan ang bawat pagbabago bago gumawa ng:
# ... hack hack hack ...
$ git add --patch foo # idagdag lamang ang unang bahagi sa index
$ git stash save --keep-index # save lahat ng iba pang pagbabago sa stash
$ edit/build/test unang bahagi
$ git commit -m 'Unang bahagi' # commit ganap na nasubok na pagbabago
$ git stash pop # maghanda na magtrabaho sa lahat ng iba pang pagbabago
# ... ulitin sa itaas ng limang hakbang hanggang mananatili ang isang commit ...
$ edit/build/test ang natitirang bahagi
$ git commit foo -m 'Mga natitirang bahagi'
Pagbawi ng mga itago na na-clear/na-drop nang mali
Kung nagkakamali kang mag-drop o mag-alis ng mga stashes, hindi na mababawi ang mga ito sa pamamagitan ng normal
mga mekanismo ng kaligtasan. Gayunpaman, maaari mong subukan ang sumusunod na incantation upang makakuha ng isang listahan ng
mga stashes na nasa iyong repositoryo, ngunit hindi na maabot:
git fsck --hindi maabot |
grep commit | gupitin -d\ -f3 |
xargs git log --merges --no-walk --grep=WIP
Gumamit ng git-stash online gamit ang mga serbisyo ng onworks.net