Commit & Push
Files کو stage کریں، commit message ہاتھ سے یا AI agent کے ذریعے لکھیں، اور چند clicks میں اپنے remote پر push کریں۔
جب آپ diff review کر چکے ہوں اور AI agent کی تبدیلیوں سے مطمئن ہوں، تو commit اور push کرنے کا وقت آ گیا ہے۔ یہ guide مکمل workflow پیش کرتی ہے، stage کرنے سے لے کر اپنے remote repository پر push کرنے تک۔
Stage تبدیلیاں
Staging آپ کو بالکل وہی changes منتخب کرنے کی اجازت دیتا ہے جو اس commit میں شامل ہوں۔ مثلاً، آپ feature code کو ایک config change سے الگ commit کرنا چاہ سکتے ہیں۔
Git panel میں، ہر modified file Unstaged Changes سیکشن میں نظر آتا ہے:
- کسی file کو individually stage کرنے کے لیے اس کے برابر checkbox کو check کریں
- تمام changed files کو ایک ساتھ stage کرنے کے لیے Stage All پر click کریں
- کسی file کو unstage کرنے کے لیے اسے uncheck کریں — یہ واپس Unstaged میں چلا جائے گا
Stage شدہ files sidebar کے top میں Staged Changes سیکشن میں منتقل ہو جاتے ہیں۔ صرف stage شدہ files ہی commit میں شامل ہوں گے۔
آپ individual hunks (file کے sections) کو بھی stage کر سکتے ہیں، پوری file کے بجائے۔ diff view میں، کسی hunk پر hover کریں اور نظر آنے والے + button پر click کریں تاکہ صرف وہی section stage ہو۔ یہ اس وقت مفید ہوتا ہے جب کسی file میں دو غیر متعلقہ changes ہوں اور آپ ابھی صرف ان میں سے ایک کو commit کرنا چاہیں۔
Commit Message لکھیں
جب files stage ہو جائیں، Git panel کے bottom میں موجود text field میں اپنا commit message type کریں۔
ایک اچھا commit message آپ کی history کو پڑھنے کے قابل بناتا ہے — آپ کے مستقبل کے آپ کے لیے اور project میں کسی اور کے لیے۔ چند نکات:
- Imperative tense استعمال کریں —
Add login formلکھیں،Added login formیاAdding login formنہیں - یہ بیان کریں کہ کیا بدلا اور کیوں —
Fix null check in user.tsfix bugسے زیادہ مفید ہے - پہلی line 72 characters سے کم رکھیں — زیادہ تر git tools list views میں لمبے messages کو truncate کر دیتے ہیں
- ضرورت پڑنے پر body شامل کریں — پہلی line کے بعد دو بار Enter دبائیں تاکہ نیچے ایک طویل explanation شامل ہو سکے
واضح commit messages کی مثالیں:
Add email validation to signup formFix crash when user list is emptyUpdate API base URL for production
ایک agent اسے لکھنے دیں
Commit summary میں موجود sparkle button آپ کا diff کسی installed AI CLI کے حوالے کرتا ہے اور اس سے ایک message مانگتا ہے۔
- یہ طے کریں کہ کون سا agent لکھے، یا 1DevTool کو اپنی پہلی installed agent use کرنے دیں۔
- ایک style منتخب کریں: Conventional، Plain، یا Gitmoji۔
- اگر ابھی تک کچھ بھی stage نہ ہوا ہو، تو یہ working-tree diff پر fall back کرتا ہے — تاکہ آپ یہ فیصلہ کرنے سے پہلے ہی message حاصل کر سکیں کہ کیا stage کرنا ہے۔
نتیجہ message field میں عام editable text کی طرح آتا ہے۔ یہ ایک draft ہے، commit نہیں۔
Commit
Message field کے نیچے Commit button پر click کریں۔ Stage شدہ changes ایک نئے commit کی شکل میں آپ کی local git history میں save ہو جاتے ہیں، اور staged files section clear ہو جاتا ہے۔
یہ commit اب آپ کی branch history میں نظر آتا ہے۔ اگر آپ اسے undo کرنا چاہیں، تو history view میں اس commit پر right-click کریں اور Undo Commit منتخب کریں — یہ changes کو بغیر کھوئے آپ کی unstaged files میں واپس لے آتا ہے۔
Remote پر Push کریں
Committing changes کو locally save کرتا ہے۔ انہیں GitHub، GitLab، یا آپ کے کسی دوسرے remote پر بھیجنے کے لیے:
- Git panel toolbar میں Push button پر click کریں (up-arrow icon)
- اگر branch پہلے سے remote پر موجود ہو، تو آپ کے commits فوری طور پر push ہو جاتے ہیں
- اگر یہ ایک new branch ہے جو ابھی تک remote پر موجود نہیں، تو Publish Branch پر click کریں — یہ remote پر branch بناتا ہے اور آپ کے commits push کر دیتا ہے
اگر credentials کے لیے prompt ہو، تو آپ انہیں enter کر سکتے ہیں یا SSH key authentication پر switch کر سکتے ہیں۔ GitHub account connect کرنے کا طریقہ جاننے کے لیے تاکہ credentials خود بخود handle ہوں، Git اکاؤنٹس دیکھیں۔

Pull تبدیلیاں
Remote سے changes لانے کے لیے (مثلاً، اگر کسی ساتھی نے کچھ push کیا ہو):
- Toolbar میں Pull button (down-arrow icon) پر click کریں
- Remote changes fetch کیے جاتے ہیں اور آپ کی local branch میں merge ہو جاتے ہیں
اگر merge conflicts ہوں، تو Git panel conflicting files کو highlight کرتا ہے۔ ہر ایک کو open کر کے conflict resolve کریں، پھر resolution کو stage اور commit کریں۔

Push کرنے کے بعد، آپ کے changes remote پر ہوتے ہیں اور آپ کی team کے لیے دستیاب ہوتے ہیں یا pull request کے لیے تیار ہوتے ہیں۔ Git panel بتاتا ہے کہ آپ کی branch remote کے ساتھ up to date ہے۔