21 lines
		
	
	
	
		
			938 B
			
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			938 B
			
		
	
	
	
		
			Markdown
		
	
	
	
	
	
In git, there can be multiple clones of a repository, each clone can 
 | 
						|
be independently modified, and clones can push or pull changes to
 | 
						|
one-another to get back in sync.
 | 
						|
 | 
						|
git-annex preserves that fundamental distributed nature of git, while
 | 
						|
dropping the requirement that, once in sync, each clone contains all the data
 | 
						|
that was committed to each other clone. Instead of storing the content
 | 
						|
of a file in the repository, git-annex stores a pointer to the content.
 | 
						|
 | 
						|
Each git-annex repository is responsible for storing some of the content,
 | 
						|
and can copy it to or from other repositories. [[Location_tracking]]
 | 
						|
information is committed to git, to let repositories inform other
 | 
						|
repositories what file contents they have available.
 | 
						|
 | 
						|
---
 | 
						|
 | 
						|
The [[walkthrough]] shows how to create a distributed set of git-annex
 | 
						|
repositories with no central repository.
 | 
						|
 | 
						|
Prefer a central repository like GitHub? See the
 | 
						|
[[tips/centralized_git_repository_tutorial]].
 |