Kako odbiti nespecificirane promjene u Gitu?

Kako mogu poništiti promjene u radnoj kopiji koje nisu navedene u indeksu?

3956
09 сент. Samo za čitanje postavljeno 09. rujna. 2008-09-09 22:33 '08 u 22:33 2008-09-09 22:33
@ 32 odgovora
  • 1
  • 2

Još jedan brz način:

 git stash save --keep-index --include-untracked 

Ne trebate uključiti --include-untracked ako ne želite biti --include-untracked uključiti --include-untracked .

Nakon toga možete resetirati ovaj pečat naredbom git stash drop ako želite.

2225
09 сент. odgovor dao Greg Hewgill Sep 09 2008-09-09 22:39 '08 u 22:39 sati 2008-09-09 22:39

Za sve neinstalirane datoteke koristite:

 git checkout -- . 

Za određenu upotrebu datoteke:

border=0
 git checkout path/to/file/to/revert 

Svakako odredite razdoblje na kraju.

4303
09 сент. Odgovor je dat Tobi 09 Sep. 2008-09-09 22:37 '08 u 22:37 2008-09-09 22:37

Čini se da je cjelovito rješenje:

 git clean -df git checkout -- . 

git clean uklanja sve neobrađene datoteke ( upozorenje ), dok ne briše ignorirane datoteke spomenute izravno u .gitignore, može ukloniti ignorirane datoteke u mapama ), a git checkout briše sve neodređene promjene.

1643
29 авг. odgovor dao Mariusz Nowak 29. kolovoza 2012-08-29 21:28 '12 u 21:28 2012-08-29 21:28

Time se provjerava trenutni indeks trenutnog direktorija, odbacujući sve promjene u datoteci iz trenutnog direktorija prema dolje.

 git checkout . 

ili ovo, koje provjerava sve datoteke iz indeksa, prepisujući radne datoteke stabla.

 git checkout-index -a -f 
283
20 июня '09 в 13:28 2009-06-20 13:28 odgovor je dao CB Bailey 20. lipnja 2009. u 13:28 2009-06-20 13:28
 git clean -df 

Čisti radno stablo rekurzivnim brisanjem datoteka koje nisu pod kontrolom verzije, počevši od trenutnog direktorija.

-d : brisanje nepotrebnih direktorija uz datoteke bez praćenja

-f : Force (možda neće biti potrebno ovisno o postavci clean.requireForce )

Pokrenite git help clean kako biste vidjeli vodič.

218
07 дек. Odgovor dao Elvis Ciotti 7. prosinca 2011-12-07 16:09 '11 u 16:09 2011-12-07 16:09

Moja omiljena

 git checkout -p 

To vam omogućuje selektivno vraćanje dijelova.

Pogledajte i:

 git add -p 
85
10 окт. odgovor dati Ben 10 listopad 2014-10-10 15:31 '14 u 15:31 2014-10-10 15:31

Budući da nijedan odgovor ne nudi točnu varijantu kombinacije koju koristim, ovdje je:

 git clean -dfx git checkout . 

Ovo je online tekst pomoći za korištene opcije git clean :

-d

Izbrišite nepotrebne direktorije pored sirovih datoteka. Ako nepotpisanim direktorijem upravlja drugi Git repozitorij, on se ne briše prema zadanim postavkama. Koristite -f dvaput ako zaista želite ukloniti takav direktorij.

-f

Ako Git clean.requireForce konfiguracijska varijabla nije postavljena na false , Git clean će odbiti izbrisati datoteke ili direktorije, osim ako -i naveden -f , -n ili -i . Git će odbiti brisanje direktorija u podmapi ili datoteci .git ako nije -f second -f .

-x

Nemojte koristiti pravila ignoriranja iz .gitignore (za svaki direktorij) i $GIT_DIR/info/exclude , ali još uvijek koristite pravila ignoriranja navedena s opcijama -e . To vam omogućuje brisanje svih neobrađenih datoteka, uključujući i sastavljanje proizvoda. To se može koristiti (možda u sprezi s git reset ) da biste stvorili netaknuti radni direktorij za provjeru čiste gradnje.

Osim toga, git checkout. mora se pokrenuti u korijenu repoa.

68
28 апр. Odgovor dao Martin G 28. travnja. 2016-04-28 22:46 '16 u 22:46 2016-04-28 22:46

Ovaj članak sam zapravo koristio za objašnjenje kada koristiti naredbu: http://www.szakmeister.net/blog/2011/oct/12/reverting-changes-git/

Postoji nekoliko različitih slučajeva:

  • Ako niste stavili datoteku, koristite git checkout . Checkout "ažurira datoteke u radnom stablu prema verziji u indeksu". Ako datoteke nisu isporučene (također dodane u indeks) ... ova naredba će u suštini vratiti datoteke na ono što je bilo vaše zadnje rješenje.

    git checkout -- foo.txt

  • Ako stavite datoteku, koristite git reset. Reset mijenja indeks prema popravku.

    git reset -- foo.txt

Pretpostavljam da je upotreba git stash popularan izbor, jer je malo manje opasan. Uvijek se možete vratiti na njega ako ste slučajno izbrisali previše ako koristite git reset. Resetiranje je po defaultu rekurzivno.

Pogledajte članak iznad za više savjeta.

53
14 авг. odgovor je dan blak3r 14 aug. 2012-08-14 00:31 '12 u 0:31 2012-08-14 00:31

Najlakši način da to učinite je da koristite ovu naredbu:

Ova se naredba koristi za poništavanje promjena u radnom direktoriju -

 git checkout -- . 

https://git-scm.com/docs/git-checkout

U naredbi git, pridržavanje sirovih datoteka postiže se pomoću:

 git stash -u 

http://git-scm.com/docs/git-stash

45
12 апр. Odgovori AHM Forhadul Islam 12. travnja 2017-04-12 12:27 '17 u 12:27 2017-04-12 12:27

Ako niste zainteresirani za spremanje neodređenih promjena (osobito ako su promjene u fazama nove datoteke), smatram da je to prikladno:

 git diff | git apply --reverse 
41
28 июля '11 в 8:27 2011-07-28 08:27 odgovor je dao Joshua Kunzmann 28. srpnja '11. u 8:27 2011-07-28 08:27

Kako unosite status git (koristite "git checkout -..." za odbacivanje promjena u radnom direktoriju) .

na primjer. git checkout -- .

39
17 мая '16 в 14:27 2016-05-17 14:27 odgovor je dao Erdem ÖZDEMİR 17. svibnja '16 u 14:27 2016-05-17 14:27

git checkout -f


man git-checkout :

-f, --force

Kada mijenjate grane, nastavite raditi, čak i ako se indeks ili radno stablo razlikuje od HEAD. To se koristi za uklanjanje lokalnih promjena.

Kada provjeravate staze iz indeksa, nemojte ne uspjeti za neovlaštene unose; umjesto toga, zanemareni unosi se zanemaruju.

38
17 мая '14 в 5:28 2014-05-17 05:28 odgovor je dat Bijan 17. svibnja '14. u 5:28 2014-05-17 05:28

Možete koristiti git stash - ako nešto pođe po zlu, možete se vratiti iz novčanika. Kao drugi odgovor ovdje, ali ovaj također briše sve deinstalirane datoteke, kao i sve deinstalirane izbrisane:

 git add . git stash 

ako provjerite je li sve u redu, ispustite predmemoriju:

 git stash drop 

Odgovor od Bilal Maqsood pomoću git clean također radio za mene, ali s aplikacijom imam više kontrole - ako slučajno to učinim, još uvijek mogu vratiti svoje promjene

UPDATE

Mislim da postoji još jedna promjena (ne znam zašto mi je to prije pomoglo):

git add . -A git add . -A umjesto git add .

bez -A izbrisane datoteke neće biti postavljene

33
11 сент. Odgovor je dobio Asped 11. rujna 2015-09-11 14:59 '15 u 14:59 2015-09-11 14:59

Umjesto odbacivanja promjena, resetiram konzolu na početak. Napomena. Ova metoda je dizajnirana za potpuno vraćanje mape pomoću repo.

Stoga, ja to radim kako bih se uvjerio da oni ne sjede tamo kad sam git reset (kasnije - isključuje gitignores u Origin / branchname)

NAPOMENA. Ako želite da se datoteke još ne prate, ali ne u GITIGNORE, možete preskočiti ovaj korak, jer će uništiti te nefosilne datoteke koje nisu pronađene u udaljenom spremištu (zahvaljujući @XtrmJosh).

 git add --all 

Onda ja

 git fetch --all 

Onda sam se vratio na početak

 git reset --hard origin/branchname 

To će ga vratiti na trg. Baš kao i RE-kloniranje grane, dok, spremanje svih mojih gitignored datoteka lokalno i na mjestu.

Ažurirano na korisnički komentar ispod: Promijeni na reset za bilo koju trenutnu granu na kojoj je korisnik omogućen.

 git reset --hard @{u} 
31
08 авг. Odgovor je dat Nick 08 aug. 2015-08-08 00:15 '15 u 0:15 2015-08-08 00:15

Ako samo želite izbrisati promjene postojećih datoteka , koristite checkout ( ovdje dokumentirano ).

 git checkout -- . 
  • Nije navedena nijedna grana, pa provjerava trenutnu granu.
  • Dvostruka crtica ( -- ) kaže Geeti da bi se za njegov drugi argument (put) trebalo uzeti sljedeće, da ste propustili specifikaciju grane.
  • Period ( . ) Označava sve staze.

Ako želite izbrisati datoteke dodane od zadnjeg urezivanja, koristite clean ( ovdje dokumentiranu ):

 git clean -i 
  • Opcija -i inicira interaktivno clean kako bi se spriječilo pogrešno brisanje.
  • Postoji nekoliko drugih opcija za brže izvršavanje; pogledajte dokumentaciju.

Ako želite premjestiti promjene u prostor za pohranu za kasniji pristup , upotrijebite stash dokumentaciju ( ovdje dokumentirano ):

 git stash 
  • Sve promjene bit će prenesene u Git Stash za mogući naknadni pristup.
  • Postoji nekoliko opcija za finije sakupljanje; pogledajte dokumentaciju.
25
18 марта '18 в 3:19 2018-03-18 03:19 Odgovor je dao jtheletter 18. ožujka '18 u 3:19 ; 2018-03-18 03:19

Pokušao sam sva gore navedena rješenja, ali još se nisam mogao riješiti novih deinstaliranih datoteka.

Koristite git clean -f da biste uklonili te nove datoteke - pažljivo! Obratite pozornost na parametar snage.

25
15 окт. odgovor od artur 15. listopada 2011-10-15 00:07 '11 u 0:07 2011-10-15 00:07

samo reci

 git stash 

Uklonit će sve vaše lokalne promjene. Kasnije ih možete upotrijebiti i izgovaranjem

 git stash apply 

ili git stash pop

20
24 апр. odgovor od strane piyushmandovra 24. travnja 2015-04-24 15:19 '15 u 15:19 2015-04-24 15:19

Samo upotrijebite:

 git stash -u 

Gotovo je. Lako.

Ako vam je doista stalo do vašeg stack stack-a, možete ga pratiti s git stash drop . Ali u ovom trenutku bolje ste se poslužili (od Mariusz Nowak):

 git checkout -- . git clean -df 

Međutim, ja volim git stash -u najbolje, jer "odbacuje" sve praćene i neprovjerene promjene u samo jednoj naredbi. I dalje git checkout -- . odbacuje samo praćene promjene, a git clean -df odbacuje samo promjene koje se ne mogu git clean -df ... a unos obje naredbe je previše posla :)

20
08 сент. Odgovor dao je Ben Wilde 08 rujna 2016-09-08 09:19 '16 u 9:19 2016-09-08 09:19

Čak i radi u direktorijima; izvan normalnih dozvola za git.

 sudo chmod -R 664 ./*  git checkout -- .  git clean -dfx 

To se nedavno dogodilo

16
05 сент. Odgovor je dao GlassGhost 05 Sep. 2013-09-05 12:38 '13 u 12:38 2013-09-05 12:38
 cd path_to_project_folder # take you to your project folder/working directory git checkout . # removes all unstaged changes in working directory 
14
30 мая '14 в 12:26 2014-05-30 12:26 odgovor je dat vivekporwal04 30. svibnja '14 u 12:26 2014-05-30 12:26

Bez obzira u kojem je stanju repo, uvijek možete poništiti sve prethodne popravke:

 git reset --hard <commit hash> 

To će poništiti sve promjene koje su napravljene nakon tog urezivanja.

10
05 февр. odgovor je dao msangel 05 feb . 2016-02-05 03:59 '16 u 3:59 2016-02-05 03:59

Drugi način da se riješite novih datoteka koje su specifičnije od git clean -df (to će vam omogućiti da se riješite nekih datoteka koje nisu nužno sve) je da prvo dodate nove datoteke u indeks, a zatim sakrijete, a zatim ispustite predmemoriju.

Ova metoda je korisna kada iz nekog razloga ne možete jednostavno izbrisati sve sirove datoteke nekim običnim mehanizmom (na primjer, rm).

10
15 июня '12 в 11:55 2012-06-15 11:55 odgovor se daje tjb 15. lipnja '12 u 11:55 2012-06-15 11:55

Po mom mišljenju

 git clean -df 

moram napraviti trik. Prema Git dokumentaciji

git -clean - uklanjanje neobrađenih datoteka s radnog stabla

opis

Čisti radno stablo rekurzivnim brisanjem datoteka koje nisu pod kontrolom verzije, počevši od trenutnog direktorija.

Obično se brišu samo datoteke nepoznate git-u, ali ako se koristi opcija -x, datoteke se također zanemaruju. To može, na primjer, biti korisno za uklanjanje svih montažnih proizvoda.

Ako su dani neki neobavezni argumenti, to utječe samo na te putanje.

opcije

-d Brisanje nepotrebnih direktorija uz datoteke bez praćenja. Ako nepotpisanim direktorijem upravlja drugi git repozitorij, on se ne uklanja po zadanom. Upotrijebite opciju -f dva puta ako doista želite izbrisati takav direktorij.

-f --force Ako konfiguracijska varijabla git clean.requireForce nije postavljena na false, git clean će odbiti pokretanje ako -f, -n ili -i nije specificirana.

9
14 июля '16 в 10:03 2016-07-14 10:03 odgovor je dat Lahiru 14. srpnja '16 u 10:03 2016-07-14 10:03

Ono što slijedi zapravo je samo rješenje ako radite sa spremištem spremišta, gdje redovito usklađujete (primjerice zahtjev za prijenosom) s drugim repom. Kratak odgovor je: uklonite vilicu i ponovno radite, ali pročitajte upozorenja na githubu .

Imao sam sličan problem, možda ne identičan, i tužan sam što mogu reći da moje rješenje nije idealno, ali na kraju je učinkovito.

Često bih imao ovakve poruke statusa git (uključujući najmanje 2/4 datoteke):

 $ git status # Not currently on any branch. # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: doc/PROJECT/MEDIUM/ATS-constraint/constraint_s2var.dats # modified: doc/PROJECT/MEDIUM/ATS-constraint/parsing/parsing_s2var.dats # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: doc/PROJECT/MEDIUM/ATS-constraint/constraint_s2Var.dats # modified: doc/PROJECT/MEDIUM/ATS-constraint/parsing/parsing_s2Var.dats 

Oštro oko će primijetiti da u tim datotekama postoje dopplegangeri, koji su jedino slovo u slučaju isključenja. U svakom slučaju, i nemam pojma što me je dovelo na ovaj put za početak (budući da nisam radio s tim datotekama iz samog repo repoa), prebacio sam te datoteke. Isprobajte mnoga rješenja navedena na ovoj stranici (i drugim stranicama) koja ne pomažu.

Uspio sam riješiti problem brisanjem svog razgranatog spremišta i svih lokalnih spremišta i vraćanjem natrag. Samo to nije bilo dovoljno; Uzvodno je trebalo preimenovati dotične datoteke u nova imena datoteka. Sve dok nemate slomljen posao, nema wikija i nema problema koji se razlikuju od spremišta gore, trebali biste biti dobro. U najmanju ruku, Upstream možda neće biti jako zadovoljan s vama. Što se tiče mog problema, ovo je nesumnjivo korisnička pogreška, budući da nemam ovo git iskustvo, ali činjenica da je to daleko od jednostavnog popravka ukazuje na problem s git-om.

9
05 янв. Odgovor daje bbarker 05 jan. 2014-01-05 07:53 '14 at 07:53 2014-01-05 07:53

Ako želite prebaciti ček nekom drugom:

 # add files git add . # diff all the changes to a file git diff --staged > ~/mijn-fix.diff # remove local changes git reset  git checkout . # (later you can re-apply the diff:) git apply ~/mijn-fix.diff 

[uredi] kako je komentirano, može se nazvati skrivenim dokumentima. Pa, upotrijebite ovo ako želite podijeliti svoj novčanik;)

7
08 июля '13 в 18:07 2013-07-08 18:07 odgovor je dat dvaput, jula 08 '13 u 18:07 2013-07-08 18:07

Ako su sve datoteke korak-po-korak zapravo bile popravljene, onda grana može biti samo resetiranje, na primjer. iz vašeg korisničkog sučelja s tri klikova mišem: Vetka , Reset , Da !

Stoga, ono što često radim u praksi da poništim neželjene lokalne promjene jest prebaciti sve dobre stvari i zatim resetirati granu.

Ako je dobra stvar fiksirana u jednom urezivanju, tada možete upotrijebiti "promjena zadnjeg urezivanja" da biste je vratili u postavku ili nestabilno ako želite na kraju učiniti nešto drugačije.

To možda nije tehničko rješenje koje tražite, ali mislim da je to vrlo praktično rješenje. To vam omogućuje da selektivno poništite nestabilne promjene, vratite promjene koje vam se ne sviđaju i spremite one koje ste napravili.

Tako sam se obvezao , resetirati granu i promijeniti zadnju predaju .

6
20 марта '15 в 18:38 2015-03-20 18:38 odgovor je dao korisnik3070485 20. ožujka u 18:38 sati 2015-03-20 18:38

Možete stvoriti vlastiti pseudonim koji opisuje kako to učiniti na opisni način.

Koristim sljedeći nadimak za odbacivanje promjena.


Odbacite promjene u datoteci (popisima) u radnom stablu

 discard = checkout -- 

Tada ga možete koristiti za brisanje svih izmjena:

 discard . 

Ili samo datoteku:

 discard filename 

U suprotnom, ako želite poništiti sve promjene, kao i neiskorištene datoteke, koristim kombinaciju provjere i čišćenja:

Obrišite i odbacite promjene i ne pratite datoteke u radnom stablu

 cleanout = !git clean -df  git checkout -- . 

Stoga je uporaba jednostavna:

 cleanout 

Sada je dostupno u sljedećem spremištu Github, koje sadrži mnogo zamjenskih imena:

5
05 июня '17 в 7:44 2017-06-05 07:44 Odgovor je dao Pau 5. lipnja 2006. u 7:44 2017-06-05 07:44

Nijedno rješenje ne funkcionira ako ste upravo promijenili dozvole datoteke (to je na DOS / Windoze)

 Pon 23/11 / 2015-15: 16: 34.80 C: checkout \ t Na grani SLF4J_1.5.3 Promjene nisu postavljene za predaju:   (upotrijebite "git add ..." da biste ažurirali što će se izvršiti)   (upotrijebite "git checkout - ..." da biste odbacili promjene u radnom direktoriju) izmijenjeno: .gitignore izmijenjeno: LICENSE.txt izmijenjeno: TODO.txt izmijenjeno: codeStyle.xml izmijenjeno: pom.xml izmijenjeno: version.pl Nema izmjena dodanih u urezivanju (upotrijebite "git add" i / ili "git commit -a") Pon 23/11 / 2015-15: 16: 37.87 C: slf4j +> git diff diff - git a / .gitignore b / .gitignore stari način rada 100644 novi način rada 100755 diff - zatvori a / LICENSE.txt b / LICENSE.txt stari način rada 100644 novi način rada 100755 diff - zatvori a / TODO.txt b / TODO.txt stari način rada 100644 novi način rada 100755 diff - git a / codeStyle.xml b / codeStyle.xml stari način rada 100644 novi način rada 100755 diff - git a / pom.xml b / pom.xml stari način rada 100644 novi način rada 100755 diff - zatvori a / version.pl b / version.pl stari način rada 100644 novi način rada 100755 Pon 23/11 / 2015-15: 16: 45.22 C: ... slf4j +> git reset - hed HEAD HEAD je sada na 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 Dodano .gitignore Pon 23/11 / 2015-15: 16: 47.42 C: ... slf4j +> git clean -f Pon 23/11 / 2015-15: 16: 53.49 C: ... slf4j +> git stash save -u Spremljen radni direktorij i stanje indeksa WIP na SLF4J_1.5.3: 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 Dodano .gitignore HEAD je sada na 8fa8488 12133-CHIXMISSINGMESSAGES MALCOLMBOEKHOFF 20141223124940 Dodano .gitignore Pon 23/11 / 2015-15: 17: 00.40 C: ... slf4j +> git stash drop Izostavljeni refs / stash @ {0} (cb4966e9b1e9c9d8daa79ab94edc0c1442a294dd) Pon 23/11 / 2015-15: 17: 06.75 C: slf4j +> git stash drop \ t Odbačeni refs / stash @ {0} (e6c49c470f433ce344e305c5b778e810625d0529) Pon 23/11 / 2015-15: 17: 08.90 C: checkout \ t Nije pronađena nikakva zaliha. Pon 23/11 / 2015-15: 17: 15.21 C: ... checkout sf4j +> git checkout -. Pon 23/11 / 2015-15: 22: 00.68 C: checkout sf4j +> git checkout -f -. Pon 23/11 / 2015-15: 22: 04.53 C: checkout \ t Na grani SLF4J_1.5.3 Promjene nisu postavljene za predaju:   (upotrijebite "git add ..." da biste ažurirali što će se izvršiti)   (upotrijebite "git checkout - ..." da biste odbacili promjene u radnom direktoriju) izmijenjeno: .gitignore izmijenjeno: LICENSE.txt izmijenjeno: TODO.txt izmijenjeno: codeStyle.xml izmijenjeno: pom.xml izmijenjeno: version.pl Nema izmjena dodanih u urezivanju (upotrijebite "git add" i / ili "git commit -a") Pon 23/11 / 2015-15: 22: 13.06 C: ... slf4j +> git diff diff - git a / .gitignore b / .gitignore stari način rada 100644 novi način rada 100755 diff - zatvori a / LICENSE.txt b / LICENSE.txt stari način rada 100644 novi način rada 100755 diff - zatvori a / TODO.txt b / TODO.txt stari način rada 100644 novi način rada 100755 diff - git a / codeStyle.xml b / codeStyle.xml stari način rada 100644 novi način rada 100755 diff - git a / pom.xml b / pom.xml stari način rada 100644 novi način rada 100755 diff - zatvori a / version.pl b / version.pl stari način rada 100644 novi način rada 100755

Jedini način da to popravite je ručno poništavanje dozvola za izmijenjene datoteke:

 Pon 23/11 / 2015-15: 25: 43.79 C: checkout sf4j +> git status -s |  egrep "^ M" |  rez -c4- |  za / f "usebackq tokens = * delims ="% A u (`more`) do chmod 644% ~ A Pon 23/11 / 2015-15: 25: 55.37 C: checkout \ t Na grani SLF4J_1.5.3 ništa za počinjenje, radni direktorij čist Pon 23/11 / 2015-15: 25: 59.28 C: ... checkout slf4j +> Pon 23/11 / 2015-15: 26: 31.12 C: ... slf4j +> git diff
5
23 нояб. Odgovor daje Malcolm Boekhoff 23. studenog. 2015-11-23 07:30 '15 u 7:30 sati 2015-11-23 07:30

Ako ste u slučaju podmodula i nema drugih rješenja, pokušajte:

  • Da biste provjerili u čemu je problem (možda prljavi slučaj), upotrijebite:

    git diff

  • Za uklanjanje skrivenog teksta

    git submodule update

5
02 окт. odgovor je dan onbi 02 okt. 2015-10-02 00:32 '15 u 0:32 2015-10-02 00:32

Imao sam čudnu situaciju kada je datoteka uvijek nedostajala, to mi pomaže da riješim.

git rm.gitattributes
git add -A
git reset - čvrst

5
08 февр. Odgovor je dat SDV 08. veljače. 2017-02-08 14:58 '17 u 14:58 pm 2017-02-08 14:58
  • 1
  • 2

Ostala pitanja o oznaci ili postavi pitanje