git_side/commands/push.rs
1use colored::Colorize;
2
3use crate::error::Result;
4use crate::side_repo::SideRepo;
5
6/// Push side repo to remote.
7/// Uses force push — local always wins, no conflicts.
8///
9/// # Errors
10///
11/// Returns an error if the side repo cannot be opened or push fails.
12pub fn run() -> Result<()> {
13 let repo = SideRepo::open()?;
14 repo.ensure_initialized()?;
15
16 // Force push to origin main — local wins, no questions asked
17 repo.push()?;
18
19 println!("{}", "Pushed to remote.".green().bold());
20 Ok(())
21}