Skip to content

đŸ“Ĩ Staging Files in Git – āĻĢāĻžāχāϞ āĻ¸ā§āĻŸā§‡āϜ āĻ•āϰāĻž ​

Git-āĻ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āϏāĻŽā§Ÿ, āφāĻĒāύāĻŋ āϝāĻ–āύ āϕ⧋āύ⧋ āĻĢāĻžāχāϞ⧇ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āφāύ⧇āύ, āϏ⧇āϟāĻž āϏāϰāĻžāϏāϰāĻŋ āĻ•āĻŽāĻŋāϟ āĻšā§Ÿ āύāĻžāĨ¤ āĻĒā§āϰāĻĨāĻŽā§‡ āϏ⧇āϟāĻžāϕ⧇ staging area āĻŦāĻž index-āĻ āύāĻŋāϤ⧇ āĻšā§Ÿ, āϤāĻžāϰāĻĒāϰ āĻ•āĻŽāĻŋāϟ āĻ•āϰāϤ⧇ āĻšā§ŸāĨ¤

📌 āϕ⧀ āĻŦā§‹āĻāĻžā§Ÿ "Staging"? ​

Staging āĻŽāĻžāύ⧇ āĻšāϞ⧋: āφāĻĒāύāĻŋ Git-āϕ⧇ āĻŦāϞāϛ⧇āύ, "āĻāχ āĻĢāĻžāχāϞāϗ⧁āϞ⧋ āφāĻŽāĻŋ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻ•āĻŽāĻŋāĻŸā§‡ āϰāĻžāĻ–āϤ⧇ āϚāĻžāχāĨ¤"

đŸ› ī¸ āĻŦ⧇āϏāĻŋāĻ• git add āĻ•āĻŽāĻžāĻ¨ā§āĻĄ ​

bash
git add filename
git add filename

āĻāχ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϟāĻŋ āĻĻāĻŋā§Ÿā§‡ āφāĻĒāύāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ āĻ¸ā§āĻŸā§‡āϜ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

đŸ§Ē āωāĻĻāĻžāĻšāϰāĻŖ ā§§: āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ āĻ¸ā§āĻŸā§‡āϜ āĻ•āϰāĻž ​

bash
git add index.html
git add index.html

📌 index.html āĻĢāĻžāχāϞāϟāĻŋāϕ⧇ staging area-āϤ⧇ āύ⧇āĻ“ā§ŸāĻž āĻšāϞ⧋āĨ¤

đŸ§Ē āωāĻĻāĻžāĻšāϰāĻŖ ⧍: āĻāĻ•āĻžāϧāĻŋāĻ• āĻĢāĻžāχāϞ āĻ¸ā§āĻŸā§‡āϜ āĻ•āϰāĻž ​

bash
git add app.js style.css
git add app.js style.css

📌 app.js āĻ“ style.css – āĻĻ⧁āϟāĻŋ āĻĢāĻžāχāϞ āĻāĻ•āϏāĻžāĻĨ⧇ āĻ¸ā§āĻŸā§‡āϜ āĻšāϞ⧋āĨ¤

đŸ§Ē āωāĻĻāĻžāĻšāϰāĻŖ ā§Š: āϏāĻŦ āĻĢāĻžāχāϞ āĻ¸ā§āĻŸā§‡āϜ āĻ•āϰāĻž ​

bash
git add .
git add .

📌 āĻŦāĻ°ā§āϤāĻŽāĻžāύ āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋāϰ āϏāĻŦ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ/āύāϤ⧁āύ āĻĢāĻžāχāϞ āĻ¸ā§āĻŸā§‡āϜ āĻšā§Ÿā§‡ āϝāĻžāĻŦ⧇ (excluding deleted unless configured).

āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ:

bash
git add -A
git add -A

📌 . āφāϰ -A āĻĒā§āϰāĻžā§Ÿ āĻāĻ•āχāϰāĻ•āĻŽ āĻ•āĻžāϜ āĻ•āϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ -A āĻĄāĻŋāϞāĻŋāϟ āĻšāĻ“ā§ŸāĻž āĻĢāĻžāχāϞāϕ⧇āĻ“ āĻŸā§āĻ°ā§āϝāĻžāĻ• āĻ•āϰ⧇āĨ¤

đŸ§Ē āωāĻĻāĻžāĻšāϰāĻŖ ā§Ē: āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āύāϤ⧁āύ āĻĢāĻžāχāϞ (untracked) āĻ¸ā§āĻŸā§‡āϜ āĻ•āϰāĻž ​

bash
git add --intent-to-add newfile.js
git add --intent-to-add newfile.js

📌 āφāĻĒāύāĻŋ āĻŦā§‹āĻāĻžāĻšā§āϛ⧇āύ āĻāχ āĻĢāĻžāχāϞāϟāĻŋ āĻĒāϰ⧇ āϝ⧋āĻ— āĻšāĻŦ⧇āĨ¤ āĻāϟāĻŋ status-āĻ A āĻšāĻŋāϏāĻžāĻŦ⧇ āĻĻ⧇āĻ–āĻž āϝāĻžāĻŦ⧇āĨ¤

đŸ§Ē āωāĻĻāĻžāĻšāϰāĻŖ ā§Ģ: āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϕ⧋āύ⧋ āϏāĻžāĻŦ-āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋāϰ āϏāĻŦ āĻĢāĻžāχāϞ āĻ¸ā§āĻŸā§‡āϜ āĻ•āϰāĻž ​

bash
git add src/
git add src/

📌 src/ āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇āϰ āϏāĻŦ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ¸ā§āĻŸā§‡āϜ āĻšāĻŦ⧇āĨ¤

đŸ§Ē āωāĻĻāĻžāĻšāϰāĻŖ ā§Ŧ: āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϟāĻžāχāĻĒ⧇āϰ āĻĢāĻžāχāϞ āĻ¸ā§āĻŸā§‡āϜ āĻ•āϰāĻž ​

bash
git add '*.js'
git add '*.js'

📌 āϏāĻ•āϞ .js āĻĢāĻžāχāϞ āĻ¸ā§āĻŸā§‡āϜ āĻšāĻŦ⧇āĨ¤

đŸ§Ē āωāĻĻāĻžāĻšāϰāĻŖ ā§­: āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āĻ…āĻ‚āĻļ āĻ¸ā§āĻŸā§‡āϜ āĻ•āϰāĻž (āχāĻ¨ā§āϟāĻžāϰ⧇āĻ•ā§āϟāĻŋāĻ­āϞāĻŋ) ​

bash
git add -p
git add -p

📌 āĻāϟāĻŋ āφāĻĒāύāĻžāϕ⧇ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āĻĢāĻžāχāϞāϗ⧁āϞ⧋āϰ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ…āĻ‚āĻļ (hunk) āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻĒā§āϰāĻļā§āύ āĻ•āϰāĻŦ⧇:

  • y = āĻ¸ā§āĻŸā§‡āϜ āĻ•āϰ⧁āύ
  • n = āĻŦāĻžāĻĻ āĻĻāĻŋāύ
  • q = āĻŦ⧇āϰ āĻšā§Ÿā§‡ āϝāĻžāύ
  • s = āĻ¸ā§āĻĒā§āϞāĻŋāϟ āĻ•āϰ⧁āύ
  • e = āύāĻŋāĻœā§‡ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰ⧁āύ

đŸ§Ē āωāĻĻāĻžāĻšāϰāĻŖ ā§Ž: āϭ⧁āϞ āĻ•āϰ⧇ āĻ¸ā§āĻŸā§‡āϜ āĻ•āϰ⧇ āĻĢ⧇āϞ⧇āϛ⧇āύ? ​

bash
git reset HEAD filename
git reset HEAD filename

📌 filename āĻ¸ā§āĻŸā§‡āϜ āĻĨ⧇āϕ⧇ āφāύāĻ¸ā§āĻŸā§‡āϜ āĻšā§Ÿā§‡ āϝāĻžāĻŦ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻĢāĻžāχāϞ⧇ āφāύāĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻĨāĻžāĻ•āĻŦ⧇āĨ¤

đŸ§Ē āωāĻĻāĻžāĻšāϰāĻŖ ⧝: āĻ¸ā§āĻŸā§‡āϜāĻŋāĻ‚ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻšā§‡āĻ• āĻ•āϰāĻž ​

bash
git status
git status

📌 āϕ⧋āύ āĻĢāĻžāχāϞ āĻ¸ā§āĻŸā§‡āϜ āĻšā§Ÿā§‡āϛ⧇, āϕ⧋āύāϟāĻž āĻšā§ŸāύāĻŋ – āϏāĻŦ āĻ•āĻŋāϛ⧁ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤

đŸ§Ē āωāĻĻāĻžāĻšāϰāĻŖ ā§§ā§Ļ: āĻĢāĻžāχāϞ āĻ¸ā§āĻŸā§‡āϜ āĻ•āϰāĻžāϰ āĻĒāϰ āĻ•āĻŽāĻŋāϟ āĻ•āϰāĻž ​

bash
git add about.html
git commit -m "Update about page content"
git add about.html
git commit -m "Update about page content"

📌 about.html āĻĢāĻžāχāϞāϟāĻŋ āĻ¸ā§āĻŸā§‡āϜ āĻ•āϰāĻžāϰ āĻĒāϰ āĻāĻ–āύ āĻāϟāĻŋ Git history-āϤ⧇ āĻ¸ā§āĻĨāĻžā§Ÿā§€āĻ­āĻžāĻŦ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŋāϤ āĻĨāĻžāϕ⧇āĨ¤

🔍 āĻ¸ā§āĻŸā§‡āϜāĻŋāĻ‚ āĻŦāύāĻžāĻŽ āĻ•āĻŽāĻŋāϟāĻŋāĻ‚ ​

āϧāĻžāĻĒāĻŦā§āϝāĻžāĻ–ā§āϝāĻž
Working Directoryāϝ⧇āĻ–āĻžāύ⧇ āφāĻĒāύāĻŋ āϕ⧋āĻĄ āϞāĻŋāĻ–āϛ⧇āύ
Staging AreaāφāĻĒāύāĻŋ āϝ⧇āϗ⧁āϞ⧋ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻ•āĻŽāĻŋāĻŸā§‡ āϰāĻžāĻ–āϤ⧇ āϚāĻžāύ
RepositoryāĻ•āĻŽāĻŋāϟ āĻšāĻ“ā§ŸāĻž āĻ¸ā§āĻĨāĻžā§Ÿā§€ āĻšāĻŋāĻ¸ā§āĻŸā§‹āϰāĻŋ

đŸšĢ .gitignore āĻāϰ āĻĒā§āϰāĻ­āĻžāĻŦ ​

git add . āϚāϞāϞ⧇āĻ“ .gitignore āĻĢāĻžāχāϞ⧇ āϝ⧇āϏāĻŦ āĻĢāĻžāχāϞ āϞāĻŋāĻ¸ā§āϟ āĻ•āϰāĻž āφāϛ⧇, āϏ⧇āϗ⧁āϞ⧋ āĻ¸ā§āĻŸā§‡āϜ āĻšāĻŦ⧇ āύāĻžāĨ¤

✅ āωāĻĒāϏāĻ‚āĻšāĻžāϰ ​

āĻ•āĻžāϜāĻ•āĻŽāĻžāĻ¨ā§āĻĄ
āĻāĻ• āĻĢāĻžāχāϞ āĻ¸ā§āĻŸā§‡āϜgit add file.txt
āϏāĻŦ āĻĢāĻžāχāϞ āĻ¸ā§āĻŸā§‡āϜgit add . āĻŦāĻž git add -A
āϟāĻžāχāĻĒ āĻ…āύ⧁āϝāĻžā§Ÿā§€git add '*.css'
āφāύāĻ¸ā§āĻŸā§‡āϜ āĻ•āϰāĻžgit reset HEAD file.txt
āĻĒāĻžāĻ°ā§āϟ-āĻ¸ā§āĻŸā§‡āϜgit add -p

Released under the MIT License.