2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
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.
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
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
Flusso di lavoro Git:
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~/.bashrc
Aggiungi 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ù.git
cartella
git status
: Visualizza lo stato della modifica (Area di deposito temporaneo, area di lavoro)
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
# 查看本地分支
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:
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