Vadovas: naujo Git filialo pastūmimas ir stebėjimas

Git Command Line

„Git“ šakų įvaldymas: kūrimas ir stebėjimas

Darbas su „Git“ filialais yra būtinas norint efektyviai valdyti versiją ir bendradarbiauti. Šis vadovas parodys, kaip sukurti vietinį filialą iš kitos šakos ir perkelti jį į nuotolinę saugyklą.

Be to, sužinosite, kaip padaryti, kad atšaka būtų sekama, užtikrinant, kad git pull ir git push komandos veiktų sklandžiai. Atlikite šiuos veiksmus, kad supaprastintumėte „Git“ darbo eigą ir palaikytumėte efektyvų projektų valdymą.

komandą apibūdinimas
git checkout -b <branch-name> Sukuria ir perjungia į naują šaką iš dabartinės šakos.
git push -u origin <branch-name> Perkelia naują šaką į nuotolinę saugyklą ir nustato prieš srovę (sekimo) šaką.
repo.create_head(<branch-name>) Sukuria naują šaką „Git“ saugykloje, naudodama „GitPython“ biblioteką.
branch.checkout() Perjungiama į nurodytą šaką „Git“ saugykloje naudojant „GitPython“ biblioteką.
origin.push(refspec='{}:{}') Perkelia nurodytą šaką į nuotolinę saugyklą naudojant GitPython biblioteką.
set_tracking_branch('origin/<branch-name>') Naudodami GitPython biblioteką nustato naujai sukurtos šakos prieš srovę (stebėjimo) šaką.

Filialo kūrimo ir stebėjimo proceso supratimas

Pateikti scenarijai parodo, kaip sukurti naują „Git“ šaką ir perkelti ją į nuotolinę saugyklą, užtikrinant, kad ją būtų galima sekti. Pirmasis scenarijus naudoja Git komandinę eilutę. Vykdant , sukuriama nauja šaka ir į ją perjungiama vienu metu. Arba sekė pasiekia tą patį rezultatą dviem etapais. Norėdami perkelti naują šaką į nuotolinę saugyklą ir nustatyti, kad ji sektų nuotolinę šaką, komandą git push -u origin new-branch yra naudojamas.

Antrasis scenarijus, parašytas Bash, automatizuoja šį procesą. Jis pradedamas tikrinant, ar pateiktas filialo pavadinimas, o tada naudojamas sukurti ir pereiti į naują filialą, kur yra filialo pavadinimas. Komanda perkelia naują šaką į nuotolinę saugyklą ir nustato sekimą. Trečiasis scenarijus naudoja Python su GitPython biblioteka. Jis inicijuoja saugyklą, sukuria naują šaką su repo.create_head(sys.argv[1]), persijungia į jį naudodami , ir nustumia jį į nuotolinę saugyklą, nustatydami šaką prieš srovę su .

Naujo Git filialo kūrimas ir stūmimas

Naudojant Git komandinę eilutę

# 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

„Git“ filialo kūrimo ir stūmimo automatizavimas

Bash scenarijaus naudojimas

#!/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."

Programinis Git filialo valdymas

Python naudojimas su GitPython biblioteka

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]))

Pasinerkite į Git filialo valdymą

Kitas svarbus „Git“ filialo valdymo aspektas yra supratimas, kaip spręsti konfliktus sujungiant filialus. Dirbant komandoje, vienu metu gali būti kuriami ir modifikuojami keli atšakai. Dėl to gali kilti konfliktų, kuriuos reikia išspręsti prieš sujungiant filialą. The komanda naudojama norint integruoti pakeitimus iš vienos šakos į kitą, tačiau gali kilti konfliktų, jei tos pačios kodo eilutės sujungiamose šakose buvo pakeistos skirtingai.

Norėdami išspręsti konfliktus, „Git“ pristabdys sujungimą ir leis jums rankiniu būdu išspręsti konfliktus. Jas išsprendus, komanda naudojama išspręstiems failams nustatyti, o po to užbaigti sujungimą. Be to, tokie įrankiai kaip gali būti naudojamas pakartotiniam įsipareigojimų taikymui ant kito pagrindinio patarimo, kuris gali supaprastinti istoriją, bet taip pat gali sukelti konfliktų, kuriuos reikia išspręsti.

Dažni klausimai apie „Git“ išsišakojimą ir stebėjimą

  1. Kaip ištrinti vietinį filialą?
  2. Vietinį filialą galite ištrinti naudodami komandą .
  3. Kaip ištrinti nuotolinį filialą?
  4. Norėdami ištrinti nuotolinę šaką, naudokite komandą .
  5. Kaip galiu matyti visas savo saugyklos šakas?
  6. Naudokite išvardyti visus vietinius filialus ir nutolusiems filialams.
  7. Kas yra „Git“ sekimo šaka?
  8. Stebėjimo filialas yra vietinis filialas, turintis tiesioginį ryšį su nuotoliniu filialu. Galite nustatyti sekimo filialą naudodami .
  9. Kaip perjungti filialus?
  10. Naudokite komandą pereiti į nurodytą filialą.
  11. Koks skirtumas tarp ir ?
  12. integruoja kitos šakos pakeitimus, sukurdamas sujungimo įsipareigojimą. pakartotinai taiko įsipareigojimus ant kito pagrindinio patarimo, todėl susidaro linijinė istorija.
  13. Kaip išspręsti sujungimo konfliktus sistemoje „Git“?
  14. Kai įvyksta sujungimo konfliktas, rankiniu būdu redaguokite nesuderinamus failus, kad išspręstumėte problemas, tada naudokite sutvarkyti išspręstus failus ir užbaigti sujungimą.
  15. Kaip nustatyti nuotolinę saugyklą?
  16. Galite nustatyti nuotolinę saugyklą naudodami komandą .

Įvaldyti Git filialų kūrimą ir sekimą yra labai svarbu kiekvienam kūrėjui, dirbančiam bendradarbiavimo aplinkoje. Naudodami tokias komandas kaip ir , galite efektyviai valdyti savo filialus, užtikrindami, kad jie būtų tinkamai sekami ir integruoti su nuotoline saugykla. Ši praktika ne tik supaprastina darbo eigą, bet ir sumažina konfliktus bei klaidas kūrimo metu. Nepamirškite ištirti pažangių funkcijų, pvz., sulieti konfliktų sprendimą ir atkurti duomenų bazę, kad dar labiau pagerintumėte versijos valdymo įgūdžius.