Why: the goal or problem

A travel website lets friends arrange daily stops. Its developers need separate experiments while offline. They want local history and Git-compatible hosting; keeping existing SVN tooling would favor Subversion instead.

How: work toward a solution

Commit a new stop on a local branch. The remote still lacks it. Push that branch when connected, then a teammate fetches it. Check both histories; a rejected push needs reconciliation.

A travel stop moves from local history to a shared branch

Travel website · illustrated workflow

Save here. Share when ready.

01 / Developer’s computer

Edit: add a museum stop

git commit ↓ records locally

main · Original itinerary

museum-stop
New commit: museum stop

Local commit works offline
02 / git push →Connection + permission

Shared repository

Before push: new stop absent

After successful push
museum-stop

03 / git fetch ↓
Teammate receives the branch

Commit ≠ push. If push is rejected, reconcile history. Hosting and review are separate choices.

What: the concept

Git is a distributed version control system. Commit records locally; push shares with another repository. GitHub and other hosts add collaboration around Git. Conflicts still need judgment.

Source