If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: pt.w3docs.com/learn-git/git-submodule - Git Submodule | Tutorial W3Doc.

site address: pt.w3docs.com/learn-git/git-submodule redirected to: pt.w3docs.com/learn-git/git-submodule

site title: Git Submodule Tutorial W3Docs

Our opinion (on Tuesday 20 October 2026 21:49:54 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:


page from cache: 45 minutes ago
Meta tags:
description=Introdução aos submódulos do Git: como adicionar, clonar, atualizar, enviar e remover submódulos, com exemplos práticos.;

Headings (most frequently used words):

submódulo, um, do, git, submódulos, submodule, que, quando, usar, adicionando, verificando, status, atualizando, clonando, submodules, fazendo, pull, código, enviando, atualizações, em, removendo, resumo, prática,

Text of the page (most frequently used words):
git (125), submódulo (47), #submodule (32), commit (32), repositório (29), copiar (27), submódulos (25), que (25), para (22), pai (22), textexample (21), com (19), aprender (15), você (14), não (14), código (13), pull (12), add (11), init (10), update (10), gitmodules (10), uma (10), submodules (9), clone (9), url (9), por (9), como (9), push (9), fazer (9), introdução (9), status (8), dentro (8), html (7), quando (7), apenas (7), ele (7), remote (7), branch (7), todos (6), diretório (6), atualizar (6), trabalho (6), recurse (6), ponteiro (6), isso (6), config (6), w3docs (5), usar (5), são (5), arquivo (5), local (5), externo (5), repositórios (5), outro (5), commits (5), caminho (5), formatter (5), color (5), generator (4), prática (4), alterações (4), clonar (4), executar (4), comando (4), ainda (4), sua (4), gitlink (4), primeiro (4), seu (4), busca (4), verifica (4), registrado (4), recursive (4), use (4), vez (4), arquivos (4), demo (4), permite (4), json (3), code (3), diff (3), encoder (3), editor (3), quizzes (3), exercícios (3), php (3), javascript (3), css (3), atualizações (3), fazendo (3), deve (3), automaticamente (3), outros (3), uso (3), manter (3), atualização (3), frequência (3), pacotes (3), árvore (3), entrada (3), registra (3), faz (3), antes (3), faça (3), new (3), agora (3), completo (3), etapa (3), pode (3), única (3), mais (3), clona (3), cada (3), modo (3), adicione (3), esse (3), indica (3), está (3), 160000 (3), file (3), changes (3), objects (3), done (3), example (3), repository (3), gerenciamento (3), específico (3), merge (3), string (3), tools (3), italiano (2), português (2), español (2), français (2), русский (2), deutsch (2), english (2), sobre (2), beautifier (2), password (2), ferramentas (2), python (2), java (2), livros (2), exemplos (2), snippets (2), resumo (2), removendo (2), enviando (2), clonando (2), atualizando (2), verificando (2), adicionando (2), this (2), page (2), subtree (2), fork (2), verificar (2), diretamente (2), atualizado (2), colar (2), principal (2), incluir (2), rastrear (2), único (2), quais (2), aspectos (2), principais (2), separados (2), enquanto (2), armazena (2), toda (2), dependências (2), melhor (2), remove (2), deinit (2), pasta (2), contabilidade (2), depois (2), tudo (2), novo (2), então (2), files (2), main (2), checkout (2), portanto (2), qualquer (2), lugar (2), mapeamentos (2), novos (2), esses (2), estado (2), recente (2), imediatamente (2), repo (2), with (2), dois (2), comandos (2), sem (2), projeto (2), padrão (2), mas (2), dos (2), sync (2), for (2), exemplo (2), execute (2), novas (2), upstream (2), alteração (2), rastreado (2), precisam (2), depender (2), esperado (2), verificado (2), diferente (2), create (2), mode (2), master (2), ambos (2), 100 (2), delta (2), users (2), deseja (2), incorporar (2), muito (2), sha (2), tag (2), sistema (2), adicionar (2), remover (2), workflows (2), rebase (2), controle (2), versão (2), hash (2), 2026, direitos, reservados, feito, desenvolvedores, idioma, política, privacidade, contato, empresa, try, tutoriais, gratuitos, web, desde, 2014, next, previous, yes, was, helpful, feitas, podem, ser, enviadas, requer, seguido, atualizados, usando, contém, metadados, mapeamento, entre, usado, permitem, vários, meio, boa, forma, projetos, referencia, pastas, modelo, mental, simples, salva, clones, parcialmente, preenchidos, mudam, gerenciador, real, geralmente, escolha, aprofundar, fluxos, relacionados, consulte, deliberada, cancela, registro, exclui, remoção, excluir, manualmente, suficiente, mantém, interna, remova, corretamente, quaisquer, enviados, demand, evitar, existam, remoto, deixaria, colegas, quebrado, inacessível, envie, junto, bump, latest, registre, staging, modified, após, aponta, antigo, exibe, fix, typo, edit, independente, exatamente, faria, true, copia, baixa, nenhum, realmente, definindo, forem, listados, inicialize, baixe, recebeu, chegam, inicializados, busque, inicializa, fica, completa, atalho, combina, últimos, clonou, preencha, deixa, diretórios, vazios, precisa, atualiza, segundo, dados, alterado, mudar, urls, incluindo, aninhados, avança, registrar, disso, definido, flag, membros, equipe, tiver, sido, modificado, somente, pois, altera, toca, verificados, espera, caractere, inicial, significativo, espaço, foi, inicializado, a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0, veja, situação, atual, especial, marca, comum, 100644, changed, insertions, root, d5002d0, observe, staged, individuais, dele, rastreia, cached, unstage, committed, yet, verifique, mesmo, nome, cria, colocar, último, argumento, vendor, unpacking, total, reused, compressing, counting, cloning, into, https, somehost, passando, initialized, empty, mkdir, crie, acesse, vai, conter, base, enorme, quer, baixá, inteiro, colaboradores, baixem, partes, contexto, tecnológico, empacotamento, formal, gerenciadores, representa, parte, terceiro, integrar, deles, momento, funciona, frequentes, componente, quiser, rastreá, dependência, fornecedor, subprojeto, estiver, mudando, rápido, próximas, mudanças, quebrarem, api, fixe, segurança, trabalhar, complicado, sugerimos, alguns, casos, adequados, eles, suportam, adição, sincronização, clonagem, lembra, nunca, automático, sempre, ato, deliberado, duas, etapas, efetivamente, aparece, raiz, mapeia, remota, opcionalmente, commitado, compartilhado, rastreiam, relacionamento, ideia, central, ponto, conhecido, reproduzível, tempo, fixado, exato, chamados, reside, próprio, histórico, muita, depende, proveniente, linguagem, entanto, métodos, têm, desvantagem, seus, históricos, completamente, esta, página, explica, ferramenta, certa, ciclo, vida, além, das, armadilhas, comuns, tornam, complicados, aos, enviar, práticos, detached, head, assinar, lfs, gitattributes, hooks, worktree, advanced, tips, baseado, trunk, gitflow, funcionalidade, estratégias, conflitos, switch, using, branches, fetch, syncing, reflog, cherry, pick, amend, rewriting, history, restore, reset, revert, clean, undoing, bisect, show, blame, log, examining, gitignore, stash, saving, alias, setting, chave, ssh, instalar, software, fonte, getting, started, entrar, pesquisar, formatters, reverse, sha256, md5, length, calculator, colors, hsl, hex, mixer, converter, picker, general, cursos, tutorial,


Text of the page (random words):
git submodule tutorial w3docs w3docs livros aprender html aprender css aprender javascript aprender git aprender java aprender php aprender python cursos quizzes exercícios snippets ferramentas general tools html editor password generator html encoder code diff json beautifier todos os 13 color tools color picker color converter color mixer color hex colors hsl todos os 10 string tools string length calculator md5 hash generator sha256 hash generator string reverse url encoder todos os 19 code formatters javascript formatter css formatter html formatter json formatter php formatter pesquisar na w3docs k pt english en deutsch de русский ru français fr español es português pt italiano it entrar aprender git getting started introdução sistema de controle de versão gerenciamento de código fonte software de controle de versão o que é git instalar o git chave ssh repositório git setting up a repository introdução git init git clone git config git alias saving changes introdução git add git commit git stash git diff gitignore examining a repository introdução git status git log git tag git blame git show git bisect undoing changes introdução git clean git revert git reset git restore git rm git mv rewriting history introdução git commit amend git rebase git rebase i git cherry pick git reflog syncing introdução git remote git fetch git push git pull using branches introdução git branch git checkout git switch git merge conflitos de merge estratégias de merge git workflows git workflows branch de funcionalidade gitflow baseado em trunk fork advanced tips git submodule git subtree git worktree git hooks gitattributes git lfs assinar commits detached head git submodule introdução aos submódulos do git como adicionar clonar atualizar enviar e remover submódulos com exemplos práticos um submódulo permite incorporar um repositório git dentro de outro e manter seus históricos completamente separados esta página explica o que é um submódulo quando ele é a ferramenta certa e o ciclo de vida completo dos comandos adicionar clonar fazer pull atualizar fazer push e remover um submódulo além das armadilhas comuns que tornam os submódulos complicados o que é um submódulo com muita frequência um repositório de código depende de código externo proveniente de outros repositórios você pode copiar e colar o código externo diretamente no repositório principal ou usar o sistema de gerenciamento de pacotes de uma linguagem no entanto ambos os métodos têm a desvantagem de não rastrear as alterações no repositório externo o git permite incluir outros repositórios git chamados de submódulos dentro de um único repositório um submódulo reside em um caminho específico no diretório de trabalho do repositório pai e é em si um clone completo de outro repositório com seu próprio histórico git a ideia central é que um submódulo é fixado a um commit exato não a um branch ou uma tag o repositório pai armazena apenas o caminho do submódulo a url e o sha do commit esperado é isso que permite depender de código externo em um ponto conhecido e reproduzível no tempo dois arquivos rastreiam esse relacionamento gitmodules um arquivo rastreado na raiz do repositório pai ele mapeia o caminho de cada submódulo para sua url remota e opcionalmente um branch esse arquivo é commitado e compartilhado com todos git config e a entrada gitlink na árvore contabilidade local por clone que registra o commit efetivamente verificado o gitlink aparece com o modo 160000 os submódulos suportam adição sincronização atualização e clonagem mas como o pai lembra apenas um sha de commit atualizar um submódulo é sempre um ato deliberado em duas etapas nunca automático quando usar submódulos trabalhar com submódulos é complicado por isso sugerimos alguns casos de uso mais adequados para eles se o subprojeto estiver mudando muito rápido ou as próximas mudanças quebrarem a api fixe o código em um commit específico por segurança se um componente não for atualizado com frequência e você quiser rastreá lo como uma dependência de fornecedor se você representa uma parte do projeto para um terceiro e deseja integrar o trabalho deles em um momento específico funciona apenas quando as atualizações não são muito frequentes se o contexto tecnológico permite empacotamento e gerenciamento formal de dependências você deve usar gerenciadores de pacotes em vez de submódulos se o seu código base é enorme e você não quer baixá lo inteiro toda vez use submódulos para que os colaboradores baixem apenas as partes de que precisam adicionando um submódulo primeiro crie ou acesse o repositório que vai conter o submódulo mkdir git submodule demo cd git submodule demo git init copiar initialized empty git repository in users example git submodule demo git copiar adicione um submódulo com git submodule add passando a url do repositório que você deseja incorporar git submodule add https somehost example textexample copiar cloning into users example git submodule demo textexample remote counting objects 8 done remote compressing objects 100 6 6 done remote total 8 delta 1 reused 0 delta 0 unpacking objects 100 8 8 done copiar o git imediatamente clona o repositório textexample em uma pasta com o mesmo nome e cria um arquivo gitmodules para colocar o submódulo em um caminho diferente adicione o como último argumento por exemplo git submodule add url vendor textexample agora verifique o estado do repositório com git status git status copiar on branch master no commits yet changes to be committed use git rm cached file to unstage new file gitmodules new file textexample copiar observe que textexample está staged como uma única entrada não como os arquivos individuais dentro dele o repositório pai rastreia apenas o ponteiro de commit do submódulo faça commit de ambos os arquivos com git add e git commit git add gitmodules textexample git commit m add textexample submodule copiar master root commit d5002d0 add textexample submodule 2 files changed 4 insertions create mode 100644 gitmodules create mode 160000 textexample copiar o modo 160000 é especial ele marca textexample como um gitlink um ponteiro para um commit em vez de um diretório comum verificando o status do submódulo antes de fazer qualquer alteração veja a situação atual de cada submódulo git submodule status copiar a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0 textexample v1 2 0 copiar o caractere inicial é significativo um espaço indica que o submódulo está no commit esperado um indica que está verificado em um commit diferente do que o pai registra e um indica que ainda não foi inicializado atualizando submódulos os membros da equipe precisam atualizar o código do submódulo quando ele tiver sido modificado em outro lugar você não pode depender somente do git pull pois fazer pull do repositório pai apenas altera o commit registrado do submódulo ele não toca os arquivos verificados dentro do submódulo para verificar o commit que o pai espera execute git submodule update copiar sem a flag remote esse comando verifica o commit registrado no repositório pai e não busca novas alterações upstream para em vez disso fazer pull do commit mais recente do branch rastreado do submódulo main por padrão ou o branch definido em gitmodules use remote git submodule update remote textexample copiar isso busca o upstream do submódulo e o avança o repositório pai agora vê um novo ponteiro de commit portanto você deve fazer git add e commit do submódulo para registrar a alteração para executar uma atualização em todos os submódulos incluindo os aninhados adicione init recursive git submodule update init recursive copiar se o arquivo gitmodules for alterado por exemplo a url do submódulo mudar execute git submodule sync para copiar as novas urls para o seu git config local antes de atualizar git submodule sync recursive copiar clonando git submodules para clonar um projeto com submódulos use o comando git clone por padrão ele clona o repositório pai mas deixa os diretórios dos submódulos vazios você precisa então executar git submodule init e git submodule update o primeiro atualiza o git config local com os mapeamentos de gitmodules enquanto o segundo busca os dados do submódulo e verifica o commit registrado se você clonou sem recurse submodules preencha os submódulos depois git clone url to repo with submodules git submodule init git submodule update copiar o atalho git submodule update init combina esses dois últimos comandos melhor ainda clone tudo em uma única etapa com recurse submodules git clone recurse submodules url to repo with submodules copiar isso clona o repositório pai e automaticamente inicializa e verifica cada submódulo de modo que a árvore de trabalho fica completa imediatamente fazendo pull do código do submódulo quando você faz pull de um repositório pai que recebeu novos submódulos esses submódulos chegam não inicializados primeiro busque o estado mais recente do pai git pull copiar se novos submódulos forem listados inicialize os e baixe os em uma única etapa git submodule update init recursive copiar git submodule init por si só apenas copia os mapeamentos para o git config local ele não baixa nenhum código a etapa update é o que realmente busca o submódulo e verifica o commit registrado você pode fazer com que git pull faça isso automaticamente definindo git config submodule recurse true copiar enviando atualizações em um submódulo um submódulo é um repositório git completo e independente portanto você faz commit e push dentro do seu diretório exatamente como faria em qualquer outro lugar cd textexample git checkout main edit files git commit am fix typo in textexample git push cd copiar após fazer commit dentro do submódulo o repositório pai ainda aponta para o commit antigo executar git status no pai agora exibe modified textexample new commits copiar registre o novo ponteiro fazendo staging e commit do caminho do submódulo no pai e então faça push git add textexample git commit m bump textexample to latest git push copiar para evitar fazer push do pai antes que os commits do submódulo existam no remoto o que deixaria os colegas com um ponteiro quebrado e inacessível envie tudo junto git push recurse submodules on demand copiar isso faz push de quaisquer commits não enviados do submódulo primeiro depois o pai removendo um submódulo excluir a pasta manualmente não é suficiente o git mantém sua contabilidade interna remova um submódulo corretamente com git submodule deinit f textexample git rm textexample git commit m remove textexample submodule copiar deinit cancela o registro do submódulo e remove sua árvore de trabalho git rm exclui o gitlink e sua entrada em gitmodules e o commit registra a remoção resumo os submódulos são uma boa forma de manter projetos em repositórios separados enquanto ainda os referencia como pastas no diretório de trabalho de outro repositório o modelo mental a manter é simples o pai armazena um ponteiro de commit toda atualização é deliberada e recurse submodules salva você de clones parcialmente preenchidos para dependências que mudam com frequência um gerenciador de pacotes real geralmente é a melhor escolha para se aprofundar em fluxos de trabalho relacionados consulte git clone git pull e git status prática prática quais são os aspectos principais do uso de submódulos git quais são os aspectos principais do uso de submódulos git os submódulos git permitem incluir outros repositórios dentro de um repositório pai e rastrear alterações em vários repositórios por meio de um único repositório o comando git submodule add é usado para copiar e colar código externo no repositório principal o arquivo gitmodules contém metadados sobre o mapeamento entre a url do submódulo e o diretório local os submódulos são atualizados automaticamente quando o repositório pai é atualizado usando git pull para atualizar o código de um submódulo deve se usar o comando git submodule update clonar um repositório com submódulos requer executar git clone seguido de git submodule init e git submodule update as alterações feitas dentro de um submódulo podem ser enviadas diretamente do diretório do submódulo verificar was this page helpful yes no previous fork next git subtree on this page o que é um submódulo quando usar submódulos adicionando um submódulo verificando o status do submódulo atualizando submódulos clonando git submodules fazendo pull do código do submódulo enviando atualizações em um submódulo removendo um submódulo resumo prática w3docs tutoriais exemplos exercícios snippets e quizzes gratuitos para a web desde 2014 livros aprender html aprender css aprender javascript aprender git aprender java aprender php aprender python prática exercícios quizzes editor try it ferramentas html editor password generator html encoder code diff json beautifier empresa sobre contato política de privacidade idioma english deutsch русский français español português italiano 2026 w3docs todos os direitos reservados feito para desenvolvedores
Images from subpage: "pt.w3docs.com/learn-git/git-pull" Verify
Images from subpage: "pt.w3docs.com/learn-git/introduction5" Verify
Images from subpage: "pt.w3docs.com/learn-git/git-branch" Verify
Images from subpage: "pt.w3docs.com/learn-git/git-checkout" Verify
Images from subpage: "pt.w3docs.com/learn-git/git-switch" Verify

Verified site has: 98 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
51-55 56-60 61-65 66-70 71-75 76-80 81-85 86-90 91-95 96-98


The site also has 3 references to external domain(s).

 x.com  Verify  github.com  Verify  linkedin.com  Verify


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/1.1 301 Moved Permanently
Date Tue, 20 Oct 2026 21:04:16 GMT
Content-Type text/html; charset=UTF-8
Transfer-Encoding chunked
Connection close
Location htt????/pt.w3docs.com/learn-git/git-submodule
Report-To group : cf-nel , max_age :604800, endpoints :[ url : htt????/a.nel.cloudflare.com/report/v4?s=CQ5VtX87pJVW2ft0GdJqvSM6xAaYTWiCojIu%2Fh3yS1TlKgRdtMosWimzGey2CY%2F9QUFk5v6v4cKjebJpDlAo9a7pCrYJA1iFeHFwliE1XcSE3yabb%2B1Ixc%2FmVn5fpwe4 ]
Nel report_to : cf-nel , success_fraction :0.0, max_age :604800
Server cloudflare
CF-RAY a4daf957ed53588c-AMS
alt-svc h3= :443 ; ma=86400
HTTP/2 200
date Tue, 20 Oct 2026 21:04:18 GMT
content-type text/html; charset=utf-8
cache-control public, max-age=0, s-maxage=3600, stale-while-revalidate=86400
nel report_to : cf-nel , success_fraction :0.0, max_age :604800
link </_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2>; rel=preload; as= font ; crossorigin= ; type= font/woff2 , </_next/static/chunks/0odj0jtvjwo_9.css>; rel=preload; as= style , </_next/static/chunks/167rp0.dvu8z4.css>; rel=preload; as= style
vary rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, Accept-Encoding
via 1.1 Caddy
x-locale pt
x-powered-by Next.js
cf-cache-status DYNAMIC
report-to group : cf-nel , max_age :604800, endpoints :[ url : htt????/a.nel.cloudflare.com/report/v4?s=N6OzXCJyGOBz%2BM%2B%2FBJ0O%2FT8ZZHgIiDOGkwX6hXm%2B4feWjeiLKIcZ34TE0TYzmPTK%2FVCbiJlKaZPyduZGlNXsEzI4E%2BavTyCxnj4cAQh%2B7vszsv4lY6Y6V8IOEURYEaCY ]
content-encoding gzip
server cloudflare
cf-ray a4daf95848ada000-AMS
alt-svc h3= :443 ; ma=86400

Meta Tags

title="Git Submodule | Tutorial W3Docs"
charset="utf-8"
name="viewport" content="width=device-width, initial-scale=1"
name="next-size-adjust" content=""
name="description" content="Introdução aos submódulos do Git: como adicionar, clonar, atualizar, enviar e remover submódulos, com exemplos práticos."
property="og:title" content="Git Submodule | Tutorial W3Docs"
property="og:description" content="Introdução aos submódulos do Git: como adicionar, clonar, atualizar, enviar e remover submódulos, com exemplos práticos."
property="og:url" content="htt????/pt.w3docs.com/learn-git/git-submodule"
property="og:site_name" content="W3docs"
property="og:locale" content="pt_PT"
property="og:image" content="htt????/www.w3docs.com/build/images/logo-amp.png"
property="og:type" content="article"
name="twitter:card" content="summary_large_image"
name="twitter:site" content="@w3docs"
name="twitter:title" content="Git Submodule | Tutorial W3Docs"
name="twitter:description" content="Introdução aos submódulos do Git: como adicionar, clonar, atualizar, enviar e remover submódulos, com exemplos práticos."
name="twitter:image" content="htt????/www.w3docs.com/build/images/logo-amp.png"

Load Info

page size218747
load time (s)1.587665
redirect count1
speed download25928
server IP 104.26.4.230
* all occurrences of the string "http://" have been changed to "htt???/"