47 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Version Control System | ||
|  | localeTitle: Sistema de Controle de Versão | ||
|  | --- | ||
|  | ## Sistema de Controle de Versão
 | ||
|  | 
 | ||
|  | Sistemas de controle de versão (VCS), também chamados de Source Code Management (SCM), são ferramentas usadas para rastrear mudanças nos arquivos, gerenciar a versão e facilitar a edição colaborativa de arquivos. Existem principalmente 2 tipos de VCS: | ||
|  | 
 | ||
|  | *   Sistema de Controle de Versão Centralizado Onde um repositório central é autoritativo. A arquitetura associada é cliente / servidor. Os primeiros VCS (CVS, SVN…) foram Centralized Version Control System. | ||
|  | *   Sistema de Controle de Versão Distribuída Onde várias modificações de troca de repositório. A arquitetura associada é principalmente peer to peer, mas um repo pode ser declarado como autoritativo. O VCS moderno mais utilizado (Git, Mercurial…) é o Distributed Version Control System. | ||
|  | 
 | ||
|  | ### Por que usar isso?
 | ||
|  | 
 | ||
|  | *   **Histórico de alterações** - O VCS permite ao usuário navegar e pesquisar todas as alterações que são gravadas automaticamente com informações úteis (data, autor ...) e | ||
|  | *   **Versões / tags** - o usuário pode pesquisar / recuperar o estado específico dos arquivos que foram rotulados com tags e nomes de versão | ||
|  | *   **Ramificação / Mesclagem** - O Distributed Version Control System facilita a manutenção da ramificação paralela de arquivos e a mescla parcial ou totalmente quando necessário. | ||
|  | *   **Operações atômicas** - Todos os VCS modernos fornecem operações atômicas: todas as modificações são garantidas para ter sucesso ou falhar como um todo, garantindo que os arquivos estejam sempre em um estado consistente. | ||
|  | 
 | ||
|  | ### Sistema de Controle de Versão mais popular
 | ||
|  | 
 | ||
|  | *   Git | ||
|  | 
 | ||
|  | _O Git_ é um Sistema de Controle de Versão Distribuído e provavelmente o VCS mais usado atualmente com o _Mercurial_ . | ||
|  | 
 | ||
|  | *   Mercurial | ||
|  | 
 | ||
|  | _Mercurial_ é um sistema de controle de versão distribuído e provavelmente o mais usado VCS usado hoje em dia com o _Git_ . | ||
|  | 
 | ||
|  | *   CVS | ||
|  | 
 | ||
|  | _O CVS_ é um antigo SCM que era proeminente antes do _SVN_ generalizado. _O CVS_ e o _SVN_ agora estão obsoletos em favor do Distributed Version Control System, como o _Git_ e o _Mercurial_ . | ||
|  | 
 | ||
|  | *   SVN / Subversion | ||
|  | 
 | ||
|  | _O SVM_ é um antigo SCM que sucedeu o _CVS_ . Eventualmente, o _SVN_ foi preterido pela ampla adoção do Distributed Version Control System, como o _Git_ e o _Mercurial._ | ||
|  | 
 | ||
|  | ### Mais Informações:
 | ||
|  | 
 | ||
|  | [CVS](http://savannah.nongnu.org/projects/cvs) | ||
|  | 
 | ||
|  | [Git](https://git-scm.com/) | ||
|  | 
 | ||
|  | [Mercurial](https://www.mercurial-scm.org/) | ||
|  | 
 | ||
|  | [SVN](http://subversion.tigris.org/) | ||
|  | 
 | ||
|  | [Controle de versão na Wikipedia](https://en.wikipedia.org/wiki/Version_control) |