Podružnica od prethodne objave pomoću git-a

Ako imam n izvršava, kako mogu prebaciti s n-3 obvezuje?

Vidim hash svakog urezivanja.

1372
12 мая '10 в 10:21 2010-05-12 10:21 dole doug je postavljen 12. svibnja '10 u 10:21 sati 2010-05-12 10:21
@ 15 odgovora

Možete stvoriti granu kroz hash:

 git branch branchname <sha1-of-commit> 

Ili pomoću simboličke veze:

 git branch branchname HEAD~3 

Da biste izdali podružnicu prilikom izrade, upotrijebite

 git checkout -b branchname <sha1-of-commit or HEAD~3> 
1931
12 мая '10 в 10:24 2010-05-12 10:24 Odgovor dao CB Bailey 12. svibnja 2010. u 10:24 2010-05-12 10:24

Da biste to učinili na github.com:

  1. Idite na svoj projekt.
  2. Kliknite "objavi".
  3. Kliknite <> ("Pregledaj spremište u ovom trenutku u priči") na urezivanju iz kojeg se želite podijeliti.
  4. Kliknite na "stablo: xxxxxx" na vrhu lijevo. Neposredno ispod statistike jezika dobit ćete opciju "Pronađi ili stvoriti granu" (samo unesite novi naziv podružnice) 2019
192
09 авг. odgovor je dao OneSolitaryNoob 09 aug. 2013-08-09 01:08 '13 u 1:08 2013-08-09 01:08

Magic se može izvesti pomoću resetiranja git-a .

  • Stvorite novu granu i prebacite se na nju (tako da su ovdje pohranjene sve nedavne pohrane)

    git checkout -b your_new_branch

  • Vratite se na prethodnu granu rada (pretpostavimo da je ona glavna)

    git checkout master

  • Uklonite posljednje x postavke, držite majstora čistim

    git reset --hard HEAD~x # in your case, x = 3

Od tog trenutka sve najnovije stavke x su samo u novoj grani, a ne u vašoj prethodnoj radnoj grani (masteru).

60
03 авг. odgovor je dao Jing Li 03 aug. 2015-08-03 12:04 '15 u 12:04 2015-08-03 12:04

Ako ne znate s kojom obvezom se želite pridružiti grani, možete provjeriti popravak i provjeriti kod (vidi izvor, prevesti, provjeriti)

 git checkout <sha1-of-commit> 

čim otkrijete da fiksacija koju želite razvetkit, to možete učiniti iznutra fiksacije (tj. ne vraćate se prvom majstoru), jednostavno stvaranjem grane na uobičajeni način:

 git checkout -b <branch_name> 
59
10 февр. odgovor je dat stanm 10 Feb. 2014-02-10 19:43 '14 u 19:43 2014-02-10 19:43
 git checkout -b <branch-name> <sha1-of-commit> 
18
11 июля '17 в 10:11 2017-07-11 10:11 Odgovor daje Tyler Long 11. srpnja 2006. u 10:11 2017-07-11 10:11

Brzi način da to učinite u vašem Github registru je sljedeći:

  • Pronađite određeni popravak iz niti.
  • Pokraj SHA ID-a kliknite "Ponovni pregled u ovom trenutku u povijesti"
  • Ovdje možete stvoriti novu nit iz tog urezivanja. 2019
14 янв. odgovor daje Vatsal Parekh 14 jan. 2017-01-14 20:51 '17 u 20:51 sati 2017-01-14 20:51

Da biste to učinili u programu Eclipse:

  • Idite na perspektivu "Git Repository Exploring".
  • Proširite "Oznake" i odaberite urezivanje iz kojeg želite stvoriti granu.
  • Kliknite desnom tipkom miša na urezivanje i odaberite "Kreiraj granu".
  • Navedite naziv podružnice.

To će za vas stvoriti lokalnu podružnicu. Zatim, kada pošaljete promjene, vaša grana će biti poslana na udaljeni poslužitelj.

4
17 мая '13 в 15:03 2013-05-17 15:03 odgovor je dan Saurabhcdt 17. svibnja '13 u 15:03 2013-05-17 15:03

To možete učiniti u Stashu.

  • Pritisnite obvezu
  • U gornjem desnom kutu zaslona kliknite "Označi ovu obvezu"
  • Tada možete stvoriti novu granu s oznake koju ste upravo stvorili.
4
18 янв. Odgovor dao je David Ruan 18. siječnja 2017-01-18 20:20 '17 u 20:20 2017-01-18 20:20

Izvrsno pitanje: kako to razumijete, koristeći parametar --help za git? Pokušajmo ovo:

 git branch --help 

Vidimo ovaj zaključak:

 NAME git-branch - List, create, or delete branches SYNOPSIS git branch [--color[=<when>] | --no-color] [-r | -a] [--list] [-v [--abbrev=<length> | --no-abbrev]] [--column[=<options>] | --no-column] [(--merged | --no-merged | --contains) [<commit>]] [--sort=<key>] [--points-at <object>] [<pattern>...] git branch [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>] git branch (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>] git branch --unset-upstream [<branchname>] git branch (-m | -M) [<oldbranch>] <newbranch> git branch (-d | -D) [-r] <branchname>... git branch --edit-description [<branchname>] 

Gobbledegook.

U sljedećem tekstu potražite riječ "obvezati". Nalazimo ga:

  <start-point> The new branch head will point to this commit. It may be given as a branch name, a commit-id, or a tag. If this option is omitted, the current HEAD will be used instead. 

Idemo negdje!

Sada se usredotočite na ovu liniju gobbledegook:

 git branch [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>] 

Dodajte ovo sljedećem:

 git branch <branchname> [<start-point>] 

I učinio.

3
19 июля '16 в 19:35 2016-07-19 19:35 odgovor je dan Purplejacket 19. srpnja '16. u 19:35 2016-07-19 19:35

Mogao bih to učiniti ovako:

 git branch new_branch_name 'git log -n 1 --skip 3 --format=%H' 

Gdje morate unijeti vrijednost preskakanja. 0 - posljednji, 1 - prethodni, 2 - obvezu prije toga, itd.

3
01 февр. Odgovor daje Mike Graf 01. veljače. 2013-02-01 00:36 '13 u 0:36 2013-02-01 00:36

Evo što sam učinio:

 C:\Users\[path]\build>git checkout -b responsivenavigation 8a75b001096536b3216022484af3026aa9c7bb5b Switched to a new branch 'responsivenavigation' C:\Users\jaimemontoya\Dropbox\CuponClub\androidapp\build>git branch master * responsivenavigation 

U ovom slučaju, 8a75b001096536b3216022484af3026aa9c7bb5b bio i stari 8a75b001096536b3216022484af3026aa9c7bb5b je bio u vlasništvu master grane.

1
14 июня '18 в 11:23 2018-06-14 11:23 Odgovor je dao Jaime Montoya 14. lipnja '18. U 11:23 sati 2018-06-14 11:23

Možete stvoriti granu pomoću hasha ovog urezivanja,

 git branch branchname <sha1 of the commit> 
1
15 июля '16 в 17:23 2016-07-15 17:23 odgovor je dao korisnik3022012 15. srpnja 16. u 17:23 2016-07-15 17:23

Idite na određenu naredbu iz git repozitorija

Ponekad, kada radite s git repozitorijem, želite se vratiti na određenu obvezu (reviziju) da biste dobili snimku vašeg projekta u određeno vrijeme. Da biste to učinili, potreban vam je SHA-1 hash urezivanja, koji možete lako pronaći provjerom dnevnika naredbom:

 git log --abbrev-commit --pretty=oneline 

koji će vam dati kompaktan popis svih obveza i kratku verziju hash-a SHA-1.

Sada kada znate hash urezivanja kojem želite ići, možete upotrijebiti jednu od sljedećih 2 naredbi:

 git checkout HASH 

ili

 git reset --hard HASH 

check out

git checkout <commit> <paths>

Pokazuje git-u da zamijeni trenutno stanje putova svojim stanjem u ovom urezivanju. Putevi mogu biti datoteke ili direktorije.

Ako nije navedena grana, git prihvaća naredbu HEAD.

 git checkout <path> // restores path from your last commit. It is a 'filesystem-undo'. 

Ako put nije specificiran, git pomiče HEAD u ovu predaju (time mijenjajući urezivanje na kojem sjedite i na kojem radite).

 git checkout branch //means switching branches. 

reset

 git reset <commit> //re-sets the current pointer to the given commit. 

Ako ste na grani (kao što bi to obično trebalo biti), HEAD i ova grana se premještaju u urezivanje.

Ako ste u onemogućenom HEAD stanju, git reset samo pomiče HEAD . Da biste vratili granu, prvo je provjerite.

Ako želite saznati više o razlici između git resetiranja i git checkouta, preporučio bih vam da pročitate službeni git blog .

0
20 июля '18 в 18:47 2018-07-20 18:47 Odgovor daje Lyes CHIOUKH 20. srpnja '18. U 18:47 2018-07-20 18:47
28 авг. odgovor daje korisnik3070485 28 aug. 2018-08-28 15:04 '18 u 15:04 sati 2018-08-28 15:04

Samo pokreni:

 git checkout -b branch-name <commit> 

Na primjer:

 git checkout -b import/january-2019 1d0fa4fa9ea961182114b63976482e634a8067b8 

Naredba checkout s opcijom -b stvorit će novu granu i prebaciti vas na nju.

0
11 янв. odgovor je dan 11. siječnja 2019-01-11 01:35 '19 u 1:35, 2019-01-11 01:35

Ostala pitanja o ili postavljanju pitanja