Git worktree: meerdere branches tegelijk uitgecheckt

Gids voor git worktree

Git worktree: add, list, remove en prune, met voorbeelden | We.Inc

Stel het exacte git worktree add-commando samen voor een nieuwe branch, een bestaande branch of een detached commit, en gebruik daarna veilig list, lock, move, remove en prune.

Met git worktree krijgt één repository meerdere werkmappen, elk op een eigen branch, die één gedeelde object store gebruiken. Voer git worktree add ../hotfix -b hotfix uit om een nieuwe map op een nieuwe branch te maken, git worktree list om ze allemaal te zien, en git worktree remove ../hotfix als u klaar bent. Een tweede clone is niet nodig.

De worktree-commando's die u dagelijks nodig hebt

Elke keer stashen, wisselen en opnieuw bouwen als iemand om een snelle fix vraagt, kost tijd. Een worktree geeft u een tweede checkout van dezelfde repo in een andere map, zodat een lange testrun, een code review en een dringende patch elk in hun eigen map kunnen staan. Gebruik de builder voor de commando's en raadpleeg daarna het overzicht voor de minder gebruikte subcommando's.

Veelgestelde vragen

Wat is het verschil tussen een worktree en een clone?

Een clone kopieert de hele repository, inclusief geschiedenis. Een gekoppelde worktree deelt de objects en refs van de oorspronkelijke repository en voegt alleen een nieuwe werkmap plus wat metadata toe, zodat commits in de ene direct zichtbaar zijn in de andere zonder fetch.

Kunnen twee worktrees dezelfde branch gebruiken?

Standaard niet. git worktree add weigert een branch die elders al is uitgecheckt, omdat twee mappen die één branch verplaatsen elkaars werk zouden overschrijven. --force omzeilt dit, maar een detached HEAD of een tweede branch is bijna altijd de betere keuze.

Waarom mislukt git worktree remove?

Het weigert als de map gewijzigde getrackte bestanden of untracked bestanden bevat, zodat u geen werk kwijtraakt. Commit of ruim de map eerst op, of geef --force mee. Een vergrendelde worktree heeft twee keer --force nodig.

Wat doet git worktree prune?

Het verwijdert de achtergebleven gegevens die git bijhoudt voor worktrees waarvan de mappen niet meer bestaan, bijvoorbeeld nadat u er een hebt verwijderd met rm -rf. Voeg -n toe om eerst te zien wat het zou verwijderen.

Hoe hernoem of verplaats ik een worktree-map?

Gebruik git worktree move <worktree> <new-path> zodat git zijn gegevens bijwerkt. Hebt u hem al met de bestandsbeheerder verplaatst, voer dan git worktree repair uit vanaf de nieuwe locatie om hem opnieuw te koppelen.

Goede redenen om worktrees te gebruiken

Wat gedeeld wordt en wat niet

Alle git worktree-subcommando's

git worktree-subcommando's en hun syntaxis

Een hotfix zonder uw branch te verlaten

Productie patchen terwijl een feature half af is

Uw featuremap blijft precies zoals hij was. De fix staat in een naastgelegen map en wordt verwijderd zodra hij gepusht is.

Worktrees tonen in een scriptvriendelijke vorm

Elke worktree is een blok regels, gescheiden door een lege regel: het pad, de HEAD-hash en de branch (of detached).

Builder voor worktree-commando's

Map voor de worktree

Branchnaam

Beginnen vanaf (branch, tag of commit)

Wat u wilt uitchecken

Nieuwe branch

Bestaande branch

Detached commit

Aanmaken en openen

Als u klaar bent

Vul een mappad in om de commando's te zien.

Tip: een pad dat met ../ begint, zet de nieuwe map naast uw hoofdcheckout.

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap