Zana zote
Bila Malipo

Marejeleo ya Git yanayoweza kutafutwa na kuchapishwa — usanidi, matawi, kuunganisha, rebase, hifadhi za mbali, stash, vitambulisho na kutendua mabadiliko. Bila malipo.

Setup & config

10
git config --global user.name "Jane Doe"
Set the name attached to your commits
git config --global user.email "jane@example.com"
Set the email attached to your commits
git config --global init.defaultBranch main
Make new repos start on a "main" branch
git config --global core.editor "code --wait"
Use VS Code as the default Git editor
git config --global pull.rebase true
Rebase instead of merge when pulling
git config --global alias.co checkout
Create a shortcut alias (git co)
git config --global --list
List all global configuration values
git config user.email
Print the email for the current repo
git config --global color.ui auto
Enable colored command-line output
git help <command>
Open the manual page for a command

Create & clone repos

9
git init
Initialize a new repo in the current folder
git init my-project
Create a new repo in a new directory
git clone https://example.com/repo.git
Clone a remote repo over HTTPS
git clone git@example.com:user/repo.git
Clone a remote repo over SSH
git clone <url> my-dir
Clone into a specific directory name
git clone --depth 1 <url>
Shallow clone with only the latest commit
git clone --branch dev <url>
Clone and check out a specific branch
git clone --recurse-submodules <url>
Clone and initialize all submodules
git remote add origin <url>
Attach a remote to an existing local repo

Staging & committing

11
git add file.txt
Stage a single file for the next commit
git add .
Stage all changes in the current directory
git add -A
Stage all changes including deletions
git add -p
Interactively stage selected hunks
git commit -m "Add login form"
Commit staged changes with a message
git commit -am "Fix typo"
Stage tracked files and commit in one step
git commit --amend
Edit the most recent commit
git commit --amend --no-edit
Add staged changes to the last commit
git rm file.txt
Remove a file and stage the deletion
git mv old.txt new.txt
Rename or move a file and stage it
git reset file.txt
Unstage a file but keep its changes

Branches

10
git branch
List all local branches
git branch -a
List local and remote-tracking branches
git switch -c feature/login
Create a new branch and switch to it
git switch main
Switch to an existing branch
git checkout -b hotfix
Classic way to create and switch branches
git branch -m old-name new-name
Rename a branch
git branch -d feature/login
Delete a merged local branch
git branch -D feature/login
Force-delete an unmerged local branch
git push origin --delete feature/login
Delete a branch on the remote
git switch -
Switch back to the previous branch

Merging & rebasing

10
git merge feature/login
Merge a branch into the current one
git merge --no-ff feature/login
Merge and always create a merge commit
git merge --squash feature/login
Combine a branch into one staged change
git merge --abort
Cancel a merge with conflicts
git rebase main
Replay current branch commits onto main
git rebase -i HEAD~3
Interactively edit the last 3 commits
git rebase --continue
Resume a rebase after resolving conflicts
git rebase --abort
Cancel an in-progress rebase
git cherry-pick <hash>
Apply a single commit onto the current branch
git mergetool
Launch a tool to resolve merge conflicts

Remotes & syncing

11
git remote -v
List configured remotes and their URLs
git remote add upstream <url>
Add a second remote named upstream
git remote set-url origin <url>
Change the URL of an existing remote
git fetch
Download remote changes without merging
git fetch --all --prune
Fetch all remotes and drop stale branches
git pull
Fetch and integrate remote changes
git pull --rebase
Pull and rebase local commits on top
git push
Upload local commits to the remote
git push -u origin main
Push and set the upstream tracking branch
git push --force-with-lease
Safely force-push without clobbering others
git push origin --tags
Push all local tags to the remote

Inspecting & comparing

10
git status
Show staged, unstaged, and untracked files
git status -s
Show status in a compact short format
git diff
Show unstaged changes against the index
git diff --staged
Show changes staged for the next commit
git diff main..feature
Compare two branches
git diff HEAD~1 HEAD
Compare the last commit with its parent
git show <hash>
Show the details and diff of one commit
git show HEAD:file.txt
Show a file as it was in a commit
git log --stat
Show commits with changed-file summaries
git shortlog -sn
Count commits grouped by author

Undoing changes

10
git restore file.txt
Discard unstaged changes in a file
git restore --staged file.txt
Unstage a file but keep its changes
git restore --source=HEAD~1 file.txt
Restore a file from an earlier commit
git checkout -- file.txt
Classic way to discard local changes
git reset --soft HEAD~1
Undo last commit, keep changes staged
git reset --mixed HEAD~1
Undo last commit, keep changes unstaged
git reset --hard HEAD~1
Undo last commit and discard changes
git revert <hash>
Create a new commit that undoes a commit
git clean -fd
Delete untracked files and directories
git clean -nd
Preview what clean would remove

Stashing

10
git stash
Save uncommitted changes and clean the tree
git stash push -m "wip"
Stash changes with a descriptive message
git stash -u
Stash including untracked files
git stash list
List all stashed change sets
git stash show -p
Show the diff of the latest stash
git stash apply
Reapply the latest stash and keep it
git stash pop
Reapply the latest stash and drop it
git stash apply stash@{2}
Reapply a specific stash by index
git stash drop stash@{0}
Delete a single stash entry
git stash clear
Delete all stash entries

Tags

9
git tag
List all tags
git tag v1.0.0
Create a lightweight tag at HEAD
git tag -a v1.0.0 -m "Release 1.0.0"
Create an annotated tag with a message
git tag -a v1.0.0 <hash>
Tag a specific past commit
git show v1.0.0
Show details for a tag
git push origin v1.0.0
Push a single tag to the remote
git push origin --tags
Push all local tags to the remote
git tag -d v1.0.0
Delete a tag locally
git push origin --delete v1.0.0
Delete a tag on the remote

Logs & history

12
git log
Show the full commit history
git log --oneline
Show a compact one-line-per-commit log
git log --oneline --graph --all
Visualize branches as an ASCII graph
git log -p
Show commit history with diffs
git log --author="Jane"
Filter history by author
git log --since="2 weeks ago"
Filter history by date range
git log --pretty=format:"%h %an %s"
Customize the log output format
git blame file.txt
Show who last changed each line
git reflog
Show the history of where HEAD has been
git bisect start
Begin a binary search for a bad commit
git bisect good <hash>
Mark a commit as known-good during bisect
git bisect bad
Mark the current commit as bad

Hakuna kipengele kinacholingana na “:q”.


Kuhusu Karatasi ya Marejeleo ya Git

Karatasi hii ya kumbukumbu ya amri za Git inapanga udhibiti wa toleo kwa kazi: usanidi na mipangilio, kuunda na kuiga (clone) hazina, kuweka tayari na kutuma (staging na committing), matawi, kuunganisha na kupanga upya (merging na rebasing), seva za mbali na usawazishaji, kukagua na kulinganisha, kutengua mabadiliko, stashing, lebo (tags), na kumbukumbu ya matukio (logs) na historia.

Sehemu zinaakisi jinsi maswali ya Git yanavyokuja hasa — "nitenguaje hili?", "nihamishaje tawi hili?", "kimebadilika nini kati ya makomiti haya?" — hivyo amri unayohitaji hukaa karibu na tofauti zake, kila moja ikiwa na maelezo ya mstari mmoja ya kile inachofanya na wakati wa kuitumia.

Karatasi ni bure na inafanya kazi kikamilifu upande wa kifaa chako. Chuja kila amri papo hapo kwa sanduku la utafutaji, ruka kati ya sehemu kupitia orodha ya yaliyomo inayoning'inia, nakili amri yoyote kwa mbofyo mmoja na chapisha ukurasa — sehemu ya kutengua peke yake inastahili nafasi yake ukutani.

Jinsi ya kutumia Karatasi ya Marejeleo ya Git

  1. Pitia sehemu kumi na moja, kuanzia Usanidi na mipangilio hadi Kutengua mabadiliko na Kumbukumbu ya matukio na historia.
  2. Tafuta kazi kama rebase, stash au amend ili kuchuja amri papo hapo.
  3. Ruka hadi sehemu kama Seva za mbali na usawazishaji kupitia upau wa pembeni unaoning'inia.
  4. Bofya amri au ikoni yake ya kunakili ili kuinakili, kisha urekebishe majina ya tawi au seva ya mbali kabla ya kuiendesha.
  5. Chapisha karatasi kwa ajili ya kumbukumbu ya Git ya nje ya mtandao.

Maswali yanayoulizwa mara kwa mara

Sehemu kumi na moja: usanidi na mipangilio, kuunda na kuiga, kuweka tayari na kutuma, matawi, kuunganisha na kupanga upya, seva za mbali na usawazishaji, kukagua na kulinganisha, kutengua mabadiliko, stashing, lebo, na kumbukumbu ya matukio na historia.

Ndiyo. Sehemu maalum ya kutengua mabadiliko inashughulikia aina tofauti za reset, restore na revert bega kwa bega pamoja na maelezo, ili uweze kuchagua sahihi kwa hali yako badala ya kubahatisha.

Ndiyo. Sehemu ya kuunganisha na kupanga upya inaonyesha mitiririko yote miwili ya kazi pamoja na tofauti zake za kawaida, na sehemu za matawi na seva za mbali zinashughulikia amri zinazozunguka za kuhamisha kazi.

Ndiyo. Bofya amri au ikoni yake ya kunakili inayoonekana unapoweka mshale nayo huenda moja kwa moja kwenye clipboard yako — badilisha tu tawi, seva ya mbali au rejeleo la komiti lako.

Ndiyo, ni bure kabisa — inayoweza kutafutwa kwenye kivinjari chako, kuchapishwa na kupatikana bila akaunti.


Utafutaji maarufu
git cheat sheet git commands list git rebase vs merge git undo last commit git reset vs revert git stash commands git branch commands git log options
Unahitaji msaada?
Umepata tatizo na zana hii? Tujulishe timu yetu.
Ripoti tatizo

Ongeza zana hii ya bure kwenye tovuti yako mwenyewe — nakili na ubandike msimbo ulio hapa chini.