-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathgit-start.html
458 lines (431 loc) · 20.3 KB
/
git-start.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>git-start</title>
<style type="text/css">
body {
background: #fff;
color: #333;
font: 14px/1.6 Helvetica,arial,freesans,clean,sans-serif;
margin: 20px;
padding: 0;
}
h1,h2,h3,h4,h5,h6 {
font-weight: bold;
margin: 20px 0 10px;
padding: 0;
}
h1 {
color: #000;
font-size: 28px;
}
h2 {
border-bottom: 1px solid #ccc;
color: #000;
font-size: 24px;
}
h3 {
font-size: 18px;
}
h4 {
font-size: 16px;
}
h5,h6 {
font-size: 14px;
}
h6 {
color: #777;
}
blockquote,dl,ol,p,pre,table,ul {
border: 0;
margin: 15px 0;
padding: 0;
}
ul,ol {
padding-left: 30px;
}
ol li > :first-child,
ol li ul:first-of-type,
ul li > :first-child,
ul li ul:first-of-type {
margin-top: 0;
}
ol ol,ol ul,ul ol,ul ul {
margin-bottom: 0;
}
h1 + p,h2 + p,h3 + p,h4 + p,h5 + p,h6 + p {
margin-top: 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
font-size: 100%;
font: inherit;
}
table tr {
border-top: 1px solid #ccc;
background: #fff;
}
table tr:nth-child(2n) {
background: #f8f8f8;
}
table th,
table td {
border: 1px solid #ccc;
padding: 6px 13px;
}
table th {
font-weight: bold;
}
pre,code,tt {
font-family: Consolas,"Liberation Mono",Courier,monospace;
font-size: 12px;
}
code,tt {
background: #f8f8f8;
border-radius: 3px;
border: 1px solid #eaeaea;
margin: 0 2px;
padding: 0 5px;
}
pre {
background: #f8f8f8;
border-radius: 3px;
border: 1px solid #ccc;
font-size: 13px;
line-height: 19px;
overflow: auto;
padding: 6px 10px;
}
pre > code,pre > tt {
background: transparent;
border: 0;
margin: 0;
padding: 0;
}
pre > code {
white-space: pre;
}
a {
color: #4183c4;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
/* Alterado por Fernando A. Damião */
code {
color: #BB0000;
}
pre code {
color: #000;
}
blockquote {
color: #aaa;
font-style: italic;
}
</style>
</head>
<body>
<h1 id="git-start">git-start</h1>
<ul>
<li>Descrição: Guia básico de utilização do sistema de controle de versão Git.</li>
<li>Versão do Guia: 1.0</li>
<li>Escrito por: Fernando A. Damião <me@fadamiao.com></li>
<li>Escrito em: 2012-11-12 por Fernando A. Damião</li>
<li>Última alteração: 2013-07-25 por Bruno Gurgel</li>
<li>Licença: <a href="http://creativecommons.org/licenses/by-sa/3.0/deed.en_US">Creative Commons Attribution-ShareAlike 3.0 Unported License.</a></li>
</ul>
<p>Este guia tem o intuito de demonstrar a instalação e utilização básica do sistema de controle de versão de códigos Git.</p>
<p>Tudo o que for demonstrado aqui pode ser utilizado em qualquer sistema operacional com Git instalado, mas mantendo o foco para utilização interna do Git, portanto não será abordada a utilização em sites como <a href="https://github.com">GitHub</a> e <a href="https://bitbucket.org">BitBucket</a>.</p>
<p>Vale lembrar que esse guia apenas demonstra funcionalidades básicas, ou seja, estão incluídos e explicados comandos com foco para o dia-a-dia.</p>
<p><strong>OBS:</strong> No Git não existem papeis fixos, ou seja, não existem clientes e servidores definidos, pois o Git acaba dependendo muito mais do protocolo que será utilizado para a transferência de dados (Exs. HTTP, SSH) que uma hierarquia.</p>
<p>Mas para entendermos melhor serão utilizados os termos cliente e servidor, sendo o cliente uma máquina que consome repositórios e servidor uma máquina que disponibiliza repositórios.</p>
<p>Para aproveitar melhor e evitar problemas opte por centralizar os repositórios em uma única máquina.</p>
<h2 id="indice">Índice</h2>
<ul>
<li><a href="#passos-para-instalar-o-git">Passos para Instalar o Git</a><ul>
<li><a href="#instalando-o-git-no-windows">Instalando o Git no Windows</a></li>
<li><a href="#instalando-o-git-no-linux-debian-e-derivados">Instalando o Git no Linux (Debian e Derivados)</a></li>
</ul>
</li>
<li><a href="#configurando-o-ambiente">Configurando o ambiente</a><ul>
<li><a href="#nome-e-eemail">Nome e Email</a></li>
<li><a href="#chave-ssh">Chave SSH</a></li>
</ul>
</li>
<li><a href="#usando-o-git">Usando o Git</a><ul>
<li><a href="#lidando-com-repositorios">Lidando com repositórios</a><ul>
<li><a href="#no-lado-do-servidor">No lado do servidor</a></li>
<li><a href="#no-lado-do-cliente">No lado do cliente</a></li>
</ul>
</li>
<li><a href="#lidando-com-arquivos">Lidando com arquivos</a><ul>
<li><a href="#adicionando-arquivo">Adicionando arquivo</a></li>
<li><a href="#removendo-arquivo">Removendo arquivo</a></li>
<li><a href="#deixando-uma-mensagem">Deixando uma mensagem</a></li>
</ul>
</li>
<li><a href="#lidando-com-rotas">Lidando com rotas</a><ul>
<li><a href="#adicionando-uma-rota-de-envio">Adicionando uma rota de envio</a></li>
<li><a href="#renomeando-uma-rota">Renomeando uma rota</a></li>
<li><a href="#trocando-a-url-de-uma-rota">Trocando a URL de uma rota</a></li>
<li><a href="#removendo-uma-rota">Removendo uma rota</a></li>
<li><a href="#listando-rotas">Listando rotas</a></li>
</ul>
</li>
<li><a href="#obtendo-repositorios">Obtendo repositórios</a></li>
<li><a href="#lidando-com-branches">Lidando com Branches</a><ul>
<li><a href="#criando-um-novo-branch">Criando um novo branch</a></li>
<li><a href="#mudando-de-branch">Mudando de branch</a></li>
<li><a href="#criar-e-mudar-de-branch">Criar e mudar de branch</a></li>
</ul>
</li>
<li><a href="#atualizando-o-repositorio">Atualizando o repositório</a></li>
<li><a href="#visualizando-alteracoes">Visualizando alterações</a></li>
<li><a href="#pedindo-ajuda">Pedindo ajuda</a></li>
<li><a href="#resumo-geral">Resumo Geral</a><ul>
<li><a href="#repositorio-nao-existe">Repositório não existe</a></li>
<li><a href="#repositorio-ja-existe">Repositório já existe</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#links-de-ajuda">Links de ajuda</a></li>
<li><a href="#referencias">Referências</a></li>
<li><a href="#vale-a-pena-ver">Vale a pena ver</a></li>
<li><a href="#conclusao">Conclusão</a></li>
</ul>
<h2 id="passos-para-instalar-o-git">Passos para instalar o Git</h2>
<h3 id="instalando-o-git-no-windows">Instalando o Git no Windows</h3>
<p>Primeiro, baixe o Git do <a href="http://git-scm.com/download/win">site oficial</a>.</p>
<p>Considerando que o Git foi baixado, faça uma cópia do seu 'find.exe' e 'sort.exe' que estão localizados, provavelmente, em 'C:\system32'.</p>
<p>Feito isso, inicie o instalador e siga os passos abaixo:</p>
<pre><code>-> Welcome to the Git Setup
Next >
-> Information
Next >
-> Select Components
Next >
-> Adjusting your PATH environment
Selecione a opção 'Run Git and included UNIX tools from the Windows Command Prompt'
Next >
-> Choosing the SSH executable
Selecione a opção 'Use OpenSSH'
Next >
-> Configuring the line ending conversions
Selecione a opção 'Checkout Windows-style, commit Unix-style line endings'
Next >
</code></pre>
<h3 id="instalando-o-git-no-linux-debian-e-derivados">Instalando o Git no Linux (Debian e derivados)</h3>
<p>Entre no terminal como um usuário normal e digite:</p>
<pre><code>$ sudo apt-get install git git-core
</code></pre>
<h2 id="configurando-o-ambiente">Configurando o ambiente</h2>
<p>Com o Git instalado precisamos definir algumas coisas para a sua utilização, como nome e email que aparecerão nos commits, e caso seja feita a utilização de transferência de arquivos via SSH, uma chave RSA.</p>
<p><strong>OBS:</strong> Esses passos devem ser feitos independente do sistema operacional utilizado.</p>
<h3 id="nome-e-email">Nome e email</h3>
<p>Configure o nome e o email com o comando 'git config', eles aparecerão publicamente em commits, que servem para indicar quem fez as alterações, falaremos mais sobre o commit adiante.</p>
<pre><code>$ git config --global user.name "Seu nome"
$ git config --global user.email "seunome@email.com"
</code></pre>
<p>Para conferir se está tudo configurado corretamente.</p>
<pre><code>$ git config --global user.name
$ git config --global user.email
</code></pre>
<p>Caso queira apagar as configurações.</p>
<pre><code>$ git config --global --unset user.email
$ git config --global --unset user.name
</code></pre>
<p><strong>OBS:</strong> Todas as configurações feitas ficam salvas em um arquivo chamado '.gitconfig' no diretório home de seu usuário.</p>
<h3 id="chave-ssh">Chave SSH</h3>
<p>Um dos modos mais comuns de utilizar Git é via SSH, para facilitar a utilização, ou seja, não ter que digitar a senha a todo o momento, gere uma chave SSH.</p>
<pre><code>$ ssh-keygen -t rsa -C "Local Server"
</code></pre>
<p>A chave pode ser gerada com uma senha simples ou até em branco, de a preferência da utilização com senha.</p>
<p>O parâmetro '-C "Local Server"' é um comentário, utilize para indicar onde será utilizada essa chave.</p>
<p>Depois de gerada a chave pegue a chave pública, provavelmente o arquivo 'id_rsa.pub' dentro do diretório '.ssh' localizado no seu diretório home, e envie para o administrador do servidor onde está o Git.</p>
<h2 id="usando-o-git">Usando o Git</h2>
<p>Com o ambiente já preparado, podemos (finalmente) começar a utilizar o Git.</p>
<p>Apesar de existirem diversos clientes gráficos somente abordaremos a utilização via linha de comando.</p>
<p><strong>OBS:</strong> Todos os comandos devem ser feitos dentro do diretório do repositório desejado.</p>
<h3 id="lidando-com-repositorios">Lidando com repositórios</h3>
<h4 id="no-lado-do-servidor">No lado do servidor</h4>
<p>Existem duas maneiras de lidar com repositórios, no lado do cliente e no lado do servidor.</p>
<p>Para que toda a equipe possa utilizar o mesmo repositório, precisamos iniciar o repositório no servidor.</p>
<pre><code>$ mkdir repositorio
$ cd repositorio
$ git init --bare
</code></pre>
<p>O comando 'git init --bare' criará a estrutura de diretórios e arquivos responsáveis por abrigar os arquivos.</p>
<h4 id="no-lado-do-cliente">No lado do cliente</h4>
<p>No cliente o processo de inicialização é bem similar:</p>
<pre><code>$ mkdir repositorio
$ cd repositorio
$ git init
</code></pre>
<p><strong>OBS:</strong> Os comandos 'mkdir' e 'cd' não pertencem ao Git.</p>
<h3 id="lidando-com-arquivos">Lidando com arquivos</h3>
<p>Após todas as alterações feitas precisamos envia-las.</p>
<p>O fluxo de envio é basicamente o seguinte:</p>
<ul>
<li>add/rm</li>
<li>commit</li>
<li>push</li>
</ul>
<p>Após cada alteração (add/rm), precisamos detalhar o que foi feito/porque foi feito, e isso é feito com um commit, após isso podemos enviar as alterações com um push.</p>
<h4 id="adicionando-arquivo">Adicionando arquivo</h4>
<p>Para um arquivo ser incluído utilize o comando 'git add' e nome do arquivo.</p>
<pre><code>$ git add README
</code></pre>
<h4 id="removendo-arquivo">Removendo arquivo</h4>
<p>Para um arquivo ser removido utilize o comando 'git rm' e nome do arquivo.</p>
<pre><code>$ git rm README
</code></pre>
<h4 id="deixando-uma-mensagem">Deixando uma mensagem</h4>
<p>A cada inclusão/alteração/exclusão de arquivos, existe a necessidade de especificar o que foi feito, para isso utilizamos o comando 'git commit'.</p>
<pre><code>$ git commit -m "Mensagem"
</code></pre>
<p>O parâmetro -m é utilizado para quando queremos descrever um commit na própria linha de comando.</p>
<p>Caso necessite de um maior detalhamento apenas utilize o comando 'git commit' e o editor de textos padrão de seu usuário será aberto.</p>
<p><strong>OBS:</strong> O comando 'git commit' só funciona após alguma alteração no repositório (add/rm).</p>
<h4 id="enviando-alteracoes">Enviando alterações</h4>
<p>Depois de feitas às alterações e comentadas, pode ser feito o envio para o servidor com o comando 'git push' seguida da rota.</p>
<pre><code>$ git push origin master
</code></pre>
<h3 id="lidando-com-rotas">Lidando com rotas</h3>
<p>Aprendemos anteriormente como enviar alterações para o servidor, mas podemos ter diferentes rotas de envio.</p>
<h4 id="adicionando-uma-rota-de-envio">Adicionando uma rota de envio</h4>
<p>Com o exemplo do comando 'git init', no lado do cliente, precisamos definir para onde irão os arquivos com o comando 'git remote add'.</p>
<pre><code>$ git remote add origin git@192.168.0.100:/home/webmaster/repositorio
</code></pre>
<p>Como não existe nenhuma rota no exemplo, ela será criada como master.</p>
<h4 id="renomeando-uma-rota">Renomeando uma rota</h4>
<p>Caso seja necessário renomear uma rota utilize o comando 'git remote rename' rota_antiga rota_nova.</p>
<pre><code>$ git remote rename origin destination
</code></pre>
<p><strong>OBS:</strong> Esse comando somente renomeia a rota.</p>
<h4 id="trocando-a-url-de-uma-rota">Trocando a URL de uma rota</h4>
<p>Caso seja necessário trocar a URL de destino utilize o comando 'git remote set-url' rota nova_url.</p>
<pre><code>$ git remote set-url origin git@192.168.0.100:/home/webmaster/nova_url
</code></pre>
<h4 id="removendo-uma-rota">Removendo uma rota</h4>
<p>Caso não seja mais necessária à rota utilize o comando 'git remote rm' rota.</p>
<pre><code>$ git remote rm origin
</code></pre>
<h4 id="listando-rotas">Listando rotas</h4>
<p>Para verificar todas as rotas do repositório utilize o parâmetro -v no comando 'git remote'.</p>
<pre><code>$ git remote -v
</code></pre>
<h3 id="obtendo-repositorios">Obtendo repositórios</h3>
<p>Para obter um repositório basta utilizar o comando 'git clone' seguido da URL.</p>
<pre><code>$ git clone git@192.168.0.100:/home/webmaster/repositorio
</code></pre>
<h3 id="lidando-com-branches">Lidando com Branches</h3>
<p>Um branch auxilia no momento de criar, testar ou corrigir funcionalidades.</p>
<p>Pensando no repositório como uma árvore, um branch seria um ramo dessa árvore, mas funcionando de forma independente, o que é ideal para coisas mais experimentais.</p>
<h4 id="criando-um-novo-branch">Criando um novo branch</h4>
<p>Para criar um branch utilize o comando 'git branch' e informe o nome do branch.</p>
<pre><code>$ git branch testes
</code></pre>
<h4 id="mudando-de-branch">Mudando de branch</h4>
<p>Para mudar de branch, utilize o comando 'git checkout' e o branch desejado.</p>
<pre><code>$ git checkout master
</code></pre>
<h4 id="criar-e-mudar-de-branch">Criar e mudar de branch</h4>
<p>Para criar e automaticamente mudar de branch.</p>
<pre><code>$ git checkout -b testes
</code></pre>
<p>O parâmetro '-b' no comando 'git checkout', verifica a existência do branch 'testes' e muda para ele, caso não exista ele o cria.</p>
<h3 id="atualizando-o-repositorio">Atualizando o repositório</h3>
<p>Após baixarmos um repositório para a máquina, ele provavelmente receberá modificações, ou seja, ele não é atualizado automaticamente.</p>
<p>Para atualizar o repositório precisamos de dois comandos 'git fetch' e 'git merge'
O comando 'git fetch' baixa as alterações, mas não as mescla no repositório, para mesclarmos as alterações precisamos do comando 'git merge'.</p>
<pre><code>$ git fetch
$ git merge origin/master
</code></pre>
<p>Para não ter que ficar digitando dois comandos todas as vezes, basta utilizar o comando 'git pull'.</p>
<p>O comando 'git pull' executa sozinho, e de uma vez, os comandos 'git fetch' e 'git merge', atualizando o repositório.</p>
<pre><code>$ git pull
</code></pre>
<p><strong>OBS:</strong> Cuidado com conflitos com alterações que não foram enviadas.</p>
<h3 id="visualizando-alteracoes">Visualizando alterações</h3>
<p>Você pode visualizar as alterações dos repositórios com o comando 'git log'.</p>
<pre><code>$ git log
</code></pre>
<p><strong>OBS:</strong> Essa forma exibe todos os commits de forma detalhada, incluindo autor e email do commit.</p>
<p>Para uma exibição mais simples, ou seja somente com a mensagem do commit utilize o parâmetro '--oneline'.</p>
<pre><code>$ git log --oneline
</code></pre>
<h3 id="pedindo-ajuda">Pedindo ajuda</h3>
<p>Quando nos esquecemos de algum comando ou parâmetro o git possui manuais próprios, basta utilizar o comando 'git help'.</p>
<pre><code>$ git help
</code></pre>
<p>Quando a dúvida é relacionada a um comando em específico, basta informar o comando.</p>
<pre><code>$ git help commit
</code></pre>
<p><strong>OBS:</strong> Quando o comando é executado em uma máquina com Windows o manual irá aparecer no navegador padrão da máquina, se executado em Linux/Mac OS X ele abrirá uma man-page normalmente.</p>
<h3 id="resumo-geral">Resumo Geral</h3>
<p>O resumo demonstra como operar um repositório, adicionar um arquivo, adicionar um commit, e enviar as alterações em dois cenários um sem existir o repositório e o outro existindo o repositório.</p>
<h4 id="repositorio-nao-existe">Repositório não existe</h4>
<p>Faça esses comandos no servidor:</p>
<pre><code>$ mkdir repositorio
$ cd repositorio
$ git init --bare
</code></pre>
<p>Faça esses comandos no cliente:</p>
<pre><code>$ mkdir repositorio
$ cd repositorio
$ touch README
$ git init
$ git add README
$ git commit -m "Inclusão do README"
$ git remote add origin git@192.168.0.100:/home/webmaster/repositorio
$ git push -u origin master
</code></pre>
<h4 id="repositorio-ja-existe">Repositório já existe</h4>
<p>Comandos apenas para o cliente:</p>
<pre><code>$ git clone git@192.168.0.100:/home/webmaster/repositorio
$ git add README
$ git commit -m 'Comentário sobre inclusão/atualização/modificação feita'
$ git push -u origin master
</code></pre>
<h2 id="links-de-ajuda">Links de ajuda</h2>
<p>Os links abaixo são guias mais detalhados para utilização do Git:</p>
<ul>
<li><a href="http://net.tutsplus.com/tutorials/other/easy-version-control-with-git/">Easy Version Control with Git</a> em en_US</li>
<li><a href="http://gitimmersion.com/">Git Immersion</a> em en_US - Passo-a-Passo sobre como utilizar Git.</li>
<li><a href="http://gitready.com/">git ready</a> em en_US</li>
<li><a href="https://help.github.com/">github:help</a> em en_US - Foca a utilização do Git no site GitHub, mas possui guias/tutoriais que auxiliam em utilizações fora do site.</li>
<li><a href="http://ftp.newartisans.com/pub/git.from.bottom.up.pdf">Git from the bottom up</a> em en_US - Guia bem detalhado sobre Git.</li>
<li><a href="https://github.com/rapid7/metasploit-framework/wiki/Git-cheatsheet">Rapid7 - Git Cheatsheet</a> em en_US</li>
</ul>
<h2 id="referencias">Referências</h2>
<p>Além dos links de ajuda, esses links ajudam a compreender mais sobre o assunto e ajudaram a escrever esse guia.</p>
<ul>
<li><a href="http://git-scm.com/">Site oficial do Git</a> em en_US</li>
<li><a href="http://gitref.org/">Git Reference</a> em en_US</li>
<li><a href="http://rogerdudler.github.com/git-guide/index.pt_BR.html">git - guia prático</a> em pt_BR</li>
<li><a href="https://github.com/InFog/ApostilaGit/blob/master/apostilagit.pdf">Apostila de introdução ao controle de versões com Git</a> em pt_BR</li>
<li><a href="http://rogerdudler.github.com/git-guide/files/git_cheat_sheet.pdf">git cheat sheet</a> em en_US</li>
</ul>
<h2 id="vale-a-pena-ver">Vale a pena ver</h2>
<p>Para continuar os estudos, cadastre-se nesses sites e suba os seus repositórios:</p>
<ul>
<li><a href="https://github.com">GitHub</a> em en_US</li>
<li><a href="https://bitbucket.org">Bitbucket</a> em en_US</li>
</ul>
<p>Para aprender passo a passo:</p>
<ul>
<li><a href="http://try.github.com">Try Git</a> em en_US</li>
<li><a href="http://gitimmersion.com/">Git Immersion</a> em en_US</li>
<li><a href="http://www.codeschool.com/courses/git-real">Git Real</a> em en_US</li>
<li><a href="http://www.codeschool.com/courses/git-real-2">Git Real 2</a> em en_US</li>
</ul>
<h2 id="conclusao">Conclusão</h2>
<p>Sem dúvida nenhuma o Git é uma ferramenta poderosa, todos os comandos demonstrados nesse guia são para auxiliar no dia-a-dia da utilização do Git.</p>
<p>Obviamente existem diversos comandos e parâmetros que não foram citados aqui, mas esse não é o intuito deste guia.</p>
<p>O intuito é dar uma noção um pouco além da básica para a operação desse sistema de controle de versão.</p>
</body>
</html>