mirror of
				https://github.com/Brandon-Rozek/website.git
				synced 2025-11-03 23:01:13 +00:00 
			
		
		
		
	New post
This commit is contained in:
		
							parent
							
								
									0672800d70
								
							
						
					
					
						commit
						534c76a209
					
				
					 1 changed files with 43 additions and 0 deletions
				
			
		
							
								
								
									
										43
									
								
								content/blog/git-pushing-multiple-remotes.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								content/blog/git-pushing-multiple-remotes.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,43 @@
 | 
			
		|||
---
 | 
			
		||||
title: "Git Pushing to Multiple Remotes"
 | 
			
		||||
date: 2022-06-02T21:19:29-04:00
 | 
			
		||||
draft: false
 | 
			
		||||
tags: ["Git"]
 | 
			
		||||
math: false
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Git's greatest strength is its first-class support for decentralization.
 | 
			
		||||
Sadly, GitHub has taken over as the sole location to store code for many
 | 
			
		||||
people.
 | 
			
		||||
 | 
			
		||||
In order to not *put all my eggs into one basket*, I want to utilize multiple
 | 
			
		||||
code hosting websites to store my public repositories.
 | 
			
		||||
This is not only for the GitHub zombie apocolypse scenario, but local
 | 
			
		||||
outages do in fact happen and its nice to have a backup.
 | 
			
		||||
 | 
			
		||||
Ideally this backup would not come at a cost of convinience. In fact,
 | 
			
		||||
we can edit the remotes of our git repository so that a simple
 | 
			
		||||
`git push` updates all of our remotes.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
The following is an example from my website.
 | 
			
		||||
Within your repository, use the command `git config -e` to open an editor with your
 | 
			
		||||
repository's git conifguration. Then edit the origin block to be configured
 | 
			
		||||
with multiple push-urls.
 | 
			
		||||
```ini
 | 
			
		||||
[remote "origin"]
 | 
			
		||||
        url = git@github.com:Brandon-Rozek/website.git 
 | 
			
		||||
        fetch = +refs/heads/*:refs/remotes/origin/*
 | 
			
		||||
        pushurl = git@github.com:Brandon-Rozek/website.git
 | 
			
		||||
        pushurl = git@git.sr.ht:~brandonrozek/website
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
After this, typing `git push` every pushurl you have configured.
 | 
			
		||||
For me, it updates both my [GitHub repository](https://github.com/brandon-rozek/website)
 | 
			
		||||
as well as my [SourceHut repository](https://sr.ht/~brandonrozek/website/).
 | 
			
		||||
 | 
			
		||||
I only recently started using [SourceHut](https://sr.ht/). 
 | 
			
		||||
It's designed by [Drew Devault](https://drewdevault.com/)
 | 
			
		||||
and others to feature the original usage of git, via email.
 | 
			
		||||
This method is still in use by the Linux kernel development team.
 | 
			
		||||
I'm excited to try it out and hopefully write some future posts on this concept.
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue