git
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| git [April 21, 2026 at 19:53] – external edit 127.0.0.1 | git [August 22, 2026 at 15:22] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | # Git | ||
| + | |||
| + | **Git** is a version control system for tracking changes to code. Initialize a folder as a git repository to save snapshots of your work, branch to experiment safely, and synchronize with teammates via remotes. | ||
| + | |||
| + | Every change is recorded as a **commit**, a snapshot of your project at a point in time. You can view history, revert to old commits, and understand who changed what and why. Git is decentralized—each person gets a full copy of the repository' | ||
| + | |||
| + | ```bash | ||
| + | $ git init # create a repository | ||
| + | $ git add . # stage changes | ||
| + | $ git commit -m " | ||
| + | $ git push origin main # push to remote | ||
| + | ``` | ||
| + | |||
| + | On a multi-person project, branching lets each developer work in isolation without conflicts. Create a branch, make changes, and merge back when ready. | ||
| + | |||
| + | ## Concepts | ||
| + | |||
| + | 1. [[git-repositories|Repositories]] | ||
| + | 2. [[git-commits|Commits]] | ||
| + | 3. [[git-staging|Staging]] | ||
| + | 4. [[git-branches|Branches]] | ||
| + | 5. [[git-merging|Merging]] | ||
| + | 6. [[git-rebasing|Rebasing]] | ||
| + | 7. [[git-remotes|Remotes]] | ||
| + | 8. [[git-pushing-and-pulling|Pushing and pulling]] | ||
| + | 9. [[git-undoing|Undoing changes]] | ||
| + | 10. [[git-history|History and viewing commits]] | ||
| + | 11. [[git-tags|Tags]] | ||
| + | 12. [[git-conflicts|Conflicts and conflict resolution]] | ||
| + | 13. [[git-stashing|Stashing]] | ||
| + | 14. [[git-cherry-pick|Cherry-pick]] | ||
| + | 15. [[git-hooks|Hooks]] | ||
| + | 16. [[git-workflows|Workflows]] | ||
