Vodič: Guranje i praćenje nove Git grane

Git Command Line

Ovladavanje Git granama: Stvaranje i praćenje

Rad s Git ograncima ključan je za učinkovitu kontrolu verzija i kolaborativni razvoj. Ovaj vodič će vam pokazati kako stvoriti lokalni ogranak iz drugog ogranka i gurnuti ga u udaljeni repozitorij.

Osim toga, naučit ćete kako omogućiti praćenje grane, osiguravajući da naredbe git pull i git push rade besprijekorno. Slijedite ove korake kako biste pojednostavili svoj Git tijek rada i održali učinkovito upravljanje projektima.

Naredba Opis
git checkout -b <branch-name> Stvara i prebacuje se na novu granu iz trenutne grane.
git push -u origin <branch-name> Gura novu granu u udaljeni repozitorij i postavlja uzvodnu (praćenje) granu.
repo.create_head(<branch-name>) Stvara novu granu u Git repozitoriju pomoću GitPython biblioteke.
branch.checkout() Prebacuje se na navedenu granu u Git repozitoriju pomoću biblioteke GitPython.
origin.push(refspec='{}:{}') Gura navedenu granu u udaljeno spremište pomoću biblioteke GitPython.
set_tracking_branch('origin/<branch-name>') Postavlja uzvodnu granu (praćenje) za novostvorenu granu pomoću biblioteke GitPython.

Razumijevanje procesa stvaranja grana i praćenja

Pružene skripte pokazuju kako stvoriti novu Git granu i gurnuti je u udaljeni repozitorij, osiguravajući da se može pratiti. Prva skripta koristi naredbeni redak Git. Izvršavanjem , stvara se nova grana i istovremeno se prebacuje na. Alternativno, slijedi postiže isti rezultat u dva koraka. Da biste gurnuli novu granu u udaljeno spremište i postavili je da prati udaljenu granu, naredba git push -u origin new-branch koristi se.

Druga skripta, napisana u Bashu, automatizira ovaj proces. Započinje provjerom je li dano ime grane, a zatim koristi za stvaranje i prebacivanje na novu granu, gdje je naziv grane. Zapovijed gura novu granu u udaljeni repozitorij i postavlja praćenje. Treća skripta koristi Python s bibliotekom GitPython. Inicijalizira spremište, stvara novu granu s repo.create_head(sys.argv[1]), prelazi na njega pomoću , i gura ga u udaljeni repozitorij dok postavlja uzvodnu granu s .

Stvaranje i guranje nove Git grane

Korištenje Git naredbenog retka

# Step 1: Create a new branch from the current branch
git checkout -b new-branch
# or
git branch new-branch
git checkout new-branch
# Step 2: Push the new branch to the remote repository and set it to track the remote branch
git push -u origin new-branch
# Now, the branch is created locally, pushed to the remote, and tracking is set

Automatizirano stvaranje i guranje Git grana

Korištenje Bash skripte

#!/bin/bash
# Check if branch name is provided
if [ -z "$1" ]
then
  echo "Usage: $0 <branch-name>"
  exit 1
fi
# Create a new branch from the current branch
git checkout -b $1
# Push the new branch to the remote repository and set it to track the remote branch
git push -u origin $1
echo "Branch '$1' created and pushed to remote repository."

Programsko Git upravljanje granama

Korištenje Pythona s GitPython bibliotekom

import git
import sys
# Ensure branch name is provided
if len(sys.argv) != 2:
    print("Usage: python create_push_branch.py <branch-name>")
    sys.exit(1)
# Repository path
repo_path = '.'  # Current directory
# Initialize repository
repo = git.Repo(repo_path)
# Create new branch
new_branch = repo.create_head(sys.argv[1])
# Checkout to the new branch
new_branch.checkout()
# Push the new branch and set upstream
origin = repo.remote(name='origin')
origin.push(refspec='{}:{}'.format(new_branch, new_branch)).set_tracking_branch('origin/{}'.format(new_branch))
print("Branch '{}' created and pushed to remote repository.".format(sys.argv[1]))

Zaronite dublje u Git Branch Management

Još jedan ključni aspekt Git upravljanja granama je razumijevanje načina rješavanja sukoba prilikom spajanja grana. Kada radite u timu, više grana se može stvarati i mijenjati istovremeno. To može dovesti do sukoba koje je potrebno riješiti prije spajanja grane. The naredba se koristi za integraciju promjena iz jedne grane u drugu, ali može doći do sukoba ako su iste linije koda drugačije promijenjene u granama koje se spajaju.

Za rješavanje sukoba, Git će pauzirati spajanje i omogućiti vam da ručno riješite sukobe. Nakon što ih riješite, naredba se koristi za postavljanje riješenih datoteka, nakon čega slijedi da biste dovršili spajanje. Osim toga, alati poput može se koristiti za ponovnu primjenu obveza povrh drugog osnovnog savjeta, što može pojednostaviti povijest, ali također može uzrokovati sukobe koje je potrebno riješiti.

Uobičajena pitanja o Git grananju i praćenju

  1. Kako mogu izbrisati lokalnu podružnicu?
  2. Lokalni ogranak možete izbrisati pomoću naredbe .
  3. Kako mogu izbrisati udaljenu granu?
  4. Da biste izbrisali udaljenu granu, koristite naredbu .
  5. Kako mogu vidjeti sve grane u svom repozitoriju?
  6. Koristiti navesti sve lokalne podružnice i za udaljene poslovnice.
  7. Što je grana za praćenje u Gitu?
  8. Podružnica za praćenje je lokalna podružnica koja ima izravan odnos s udaljenom podružnicom. Možete postaviti granu za praćenje s .
  9. Kako se prebacivati ​​između podružnica?
  10. Koristite naredbu za prebacivanje na navedenu granu.
  11. Koja je razlika između i ?
  12. integrira promjene iz druge grane, stvarajući predaju spajanja. ponovno primjenjuje predaje na vrhu drugog osnovnog savjeta, što rezultira linearnom poviješću.
  13. Kako mogu riješiti sukobe spajanja u Gitu?
  14. Kada dođe do sukoba spajanja, ručno uredite sukobljene datoteke kako biste riješili probleme, a zatim upotrijebite inscenirati riješene datoteke i dovršiti spajanje.
  15. Kako mogu postaviti udaljeno spremište?
  16. Možete postaviti udaljeno spremište pomoću naredbe .

Ovladavanje stvaranjem i praćenjem grana Git ključno je za svakog programera koji radi u okruženju za suradnju. Korištenjem naredbi poput i , možete učinkovito upravljati svojim ograncima, osiguravajući da se pravilno prate i integriraju s udaljenim repozitorijem. Ova praksa ne samo da pojednostavljuje vaš tijek rada, već i smanjuje sukobe i pogreške tijekom razvoja. Ne zaboravite istražiti napredne značajke poput rješavanja sukoba spajanja i ponovnog baziranja kako biste dodatno poboljšali svoje vještine kontrole verzija.