Condivisione della tecnologia

Esercitazione su Git

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Strumento di controllo della versione distribuito Git

​ Git è un sistema di controllo della versione distribuito open source in grado di gestire la gestione delle versioni di progetti da molto piccoli a molto grandi in modo efficiente e ad alta velocità.

Git è distribuito. Git non ha bisogno di un server centrale. Ciascuno dei nostri computer ha le stesse cose. Usiamo Git e disponiamo di un server centrale proprio per facilitare lo scambio delle modifiche di tutti, ma lo stato di questo server è lo stesso di ciascuno dei nostri PC. Possiamo utilizzare questo server come PC di uno sviluppatore, così tutti possono comunicare facilmente tra loro senza spegnere il computer. Tutti possono ancora lavorare senza questo server, ma le modifiche di "scambio" sono scomode.
Inserisci qui la descrizione dell'immagine

approccio del controller di versione

Strumento di controllo della versione centralizzato

​Strumento di controllo della versione centralizzato, la libreria delle versioni è archiviata in un server centrale. Tutti i membri del team scaricano il codice dal server centrale mentre lavorano, devono essere connessi a Internet, a una rete locale o a Internet. Invia modifiche personali al repository centrale. Ad esempio: SVN, CVS
Inserisci qui la descrizione dell'immagine

Strumento di controllo della versione distribuito

​ Non esiste un "server centrale" nel sistema di controllo della versione distribuito. Il computer di tutti ha una libreria di versioni completa. Quando si lavora in questo modo, non è necessario connettersi a Internet, perché la libreria di versioni si trova sul proprio computer. Quando più persone collaborano, devono solo inviare reciprocamente le proprie modifiche e poi potranno vedere le modifiche degli altri. Ad esempio: Git

Comandi comuni

Flusso di lavoro Git
Inserisci qui la descrizione dell'immagine

  • clone: clona il codice dal repository remoto al repository locale

  • guardare: prelevare un ramo del magazzino dal magazzino locale e apportare modifiche

  • aggiungere: invia il codice all'area di staging prima di inviarlo

  • commettere: invia al magazzino locale e salva le versioni storiche modificate nel magazzino locale

  • andare a prendere: recupera dalla libreria remota al magazzino locale senza alcuna azione di fusione.

  • tiro: effettua il pull dalla libreria remota alla libreria locale e unisci automaticamente (unire), quindi inserirlo nell'area di lavoro, che equivale afetch merge

  • spingere: Invia il codice al magazzino remoto

  • git config:Informazioni sulla configurazione

    # 设置用户信息
    git config --global user.name "userName"
    git config --global user.email "Email"
    
    # 查看配置信息
    git config --global user.name
    git config --global user.email
    
  • alias: Alias ​​del comando di configurazione, in~/.bashrcAggiungi la configurazione e devi eseguirla una volta completata la modifica.source ~/.bashrc

    # 部分windows系统不允许用户创建.开头的文件,可以在gitBash中执行
    touch ~/.bashrc
    
    # 在~/.bashrc中添加内容,输出git提交日志
    alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
    
  • git init: Inizializza la directory corrente come magazzino git Dopo l'esecuzione riuscita, ce ne saranno più.gitcartella

  • git status: Visualizza lo stato della modifica (Area di deposito temporaneo, area di lavoro)
    Inserisci qui la descrizione dell'immagine

  • git add: consente di aggiungere modifiche a uno o più file nell'area di lavoro nell'area di staging

    git add 单个文件名 | 通配符
    
    # 将所有修改加入到暂存区
    git add .
    
  • git commit: invia il contenuto dell'area di allestimento al ramo corrente del magazzino locale,git commit -m '注释内容'

  • git log: Visualizza i registri di invio e configura gli aliasgit-log

    git log [option]
    	--all 显式所有分支
    	--pretty=oneline 将提交信息显示为一行
    	--abbrev-commit 使得输出的commitId更简短
    	--graph 以图的形式显示
    
  • git reset:Ripristino della versione

    # 查看已经删除的记录,可以看到已经删除的提交记录
    git reflog
    
    # 版本切换,commitId可以通过git log查看
    git reset --hard commitId
    
  • git branch: Visualizzare i rami locali L'uso dei rami significa che il lavoro può essere separato dalla linea di sviluppo principale per correggere bug e sviluppare nuove funzionalità, in modo da non influenzare la linea principale.

    • maestro(Produzione) Ramo: ramo online, ramo principale, ramo corrispondente a progetti di piccole e medie dimensioni come applicazioni in esecuzione online

    • sviluppare(sviluppare) ramo: è un ramo creato dal master. Viene generalmente utilizzato come ramo di sviluppo principale della parte di sviluppo. Se non sono presenti altri requisiti di sviluppo parallelo per le diverse fasi dello sviluppo online, lo sviluppo può essere eseguito in questa versione la fase di sviluppo è completata, deve essere accorpata al ramo master e preparata per andare online.

    • feature/xxx branch: un ramo creato da development. Di solito viene sviluppato in parallelo allo stesso tempo, ma viene creato quando il lancio non avviene nello stesso periodo. Dopo che le attività di ricerca sul ramo sono state completate, viene unito al file sviluppare il ramo.

    • ramo hotfix/xxx: un ramo derivato da master, generalmente utilizzato per la riparazione di bug online. Dopo aver completato la riparazione, deve essere unito ai rami master, testato e sviluppato.

    • test(test) ramo

    • pre(Pre pranzo) ramo
      Inserisci qui la descrizione dell'immagine

    # 查看本地分支
    git branch
    
    # 创建本地分支
    git branch 分支名
    
    # 切换分支
    git checkout 分支名
    
    # 切换到一个不存在的分支,创建并切换
    git checkout -b 分支名
    
    # 合并分支,一个分支上的提交可以合并到另一个分支
    git merge 分支名
    
    # 删除分支,不能删除当前分支,只能删除其它分支
    # 删除时需要做各种检查
    git branch -d 分支名
    # 强制删除,不做任何检查
    git branch -D 分支名
    
  • Risoluzione dei conflitti: quando le modifiche ai file su due rami possono entrare in conflitto, ad esempio, la stessa riga dello stesso file viene modificata contemporaneamente, il conflitto deve essere risolto manualmente. I passaggi sono i seguenti:

    1. Gestire i conflitti nei file
    2. Aggiungere i file risolti in conflitto all'area di archiviazione temporanea (aggiungere)
    3. Invia al magazzino (commettere)

Magazzino remoto

  • git remote add: Aggiungere un magazzino remoto Questa operazione consiste nell'inizializzare prima la libreria locale e poi collegarla alla libreria remota creata.

    git remote add