Git Worktrees
بغیر stashing کے ایک ساتھ متعدد branches پر کام کریں — ہر ایک اپنے folder میں۔
Worktrees روزمرہ کی ترقی کے ایک سب سے مایوس کن مسئلے کو حل کرتی ہیں: کسی چیز کے درمیان میں branches switch کرنے کی ضرورت۔ Worktrees کے ساتھ، آپ switch نہیں کرتے — آپ دوسرے folder میں ایک اور branch کھولتے ہیں اور دونوں پر ایک ساتھ کام کرتے ہیں۔
Git Worktree کیا ہے؟
عام طور پر، ایک git repository کا ایک working directory ہوتا ہے — وہ folder جہاں آپ کی files رہتی ہیں۔ کسی بھی لمحے، بالکل ایک branch اس folder میں checked out ہوتی ہے۔ اگر آپ کوئی دوسری branch دیکھنا چاہتے ہیں، تو آپ کو اسے checkout کرنا پڑتا ہے، جو آپ کی files کو اس branch کے version سے replace کر دیتا ہے۔ اگر آپ نے اپنا current کام Commit نہیں کیا، تو پہلے stash کرنا پڑتا ہے، جو پریشان کن اور error-prone ہے۔
ایک worktree ایک دوسری (یا تیسری، یا چوتھی) working directory ہے جو اسی git repository سے linked ہے۔ ہر worktree کی اپنی branch checked out ہے، اپنی file state ہے، اور اپنی history ہے۔ وہ سب ایک ہی .git folder اور Commit history share کرتی ہیں — یہ صرف ایک ہی repo میں مختلف windows ہیں۔
ایک ٹھوس مثال: آپ کا AI agent feature/payments پر نئی feature بناتے بناتے آدھے راستے میں ہے۔ ایک colleague آپ سے fix/login-bug پر ان کا PR review کرنے کو کہتا ہے۔ اپنا feature کام stash کرنے کی بجائے، آپ ایک الگ folder میں fix/login-bug کے لیے worktree بناتے ہیں۔ آپ وہاں PR review کرتے ہیں جبکہ آپ کی feature branch اپنے original folder میں ہاتھ نہیں لگی رہتی۔
Worktree بنائیں
- Git پینل کھولیں — Cmd+G دبائیں
- پینل کے اوپر Worktrees ٹیب کلک کریں
- + Add Worktree کلک کریں
- ایک branch منتخب کریں — یا فہرست سے موجودہ branch یا نئی branch نام بنانے کے لیے ٹائپ کریں
- نئی worktree کے لیے folder location منتخب کریں (default میں، 1DevTool آپ کے current project folder کے ساتھ ایک folder suggest کرتا ہے)
- Create کلک کریں — 1DevTool
git worktree addچلاتا ہے اور نئی worktree folder کو active workspace کے طور پر کھولتا ہے
نئی worktree اب Worktrees ٹیب میں آپ کی main worktree کے ساتھ listed ہے۔

Worktree Terminals
جب 1DevTool worktree بناتا ہے، تو یہ اس worktree کے folder کے دائرے میں ایک نیا Terminal بھی کھولتا ہے۔ Terminal title میں branch نام ظاہر ہوتا ہے تاکہ آپ ہمیشہ جانیں کہ آپ کس branch میں کام کر رہے ہیں۔
اس Terminal میں آپ کا AI agent worktree folder میں operate کرتا ہے — یہ files پڑھ سکتا ہے اور لکھ سکتا ہے، commands چلا سکتا ہے، اور اس branch پر تبدیلیاں کر سکتا ہے بغیر آپ کی دوسری branches سے کسی آگاہی یا مداخلت کے۔


آپ ایک ساتھ متعدد worktrees میں agents چلا سکتے ہیں۔ ایک agent payments feature پر کام کرتا ہے جبکہ دوسرا مختلف branch پر bug ٹھیک کرتا ہے۔ دونوں agents کا اپنا Terminal، اپنا file context، اور اپنی branch ہے — وہ ایک دوسرے سے conflict نہیں کر سکتے۔
Worktree Remove کریں
جب آپ worktree کے ساتھ کام مکمل ہو — PR merge ہو گئی، branch delete ہو گئی — آپ اسے صاف طریقے سے remove کر سکتے ہیں:
- Git پینل کھولیں اور Worktrees ٹیب پر جائیں
- وہ worktree تلاش کریں جسے آپ remove کرنا چاہتے ہیں
- اس کے ساتھ trash آئیکن کلک کریں
- deletion تصدیق کریں
یہ worktree folder remove کرتا ہے اور اسے git سے deregister کرتا ہے (git worktree remove کے مساوی)۔ branch خود delete نہیں ہوتی — صرف working directory۔ آپ ضرورت پڑنے پر بعد میں worktree دوبارہ بنا سکتے ہیں۔
ٹپ: feature branch پر AI agent چلانے کے لیے worktrees استعمال کریں جبکہ main stable رکھیں۔ agent غلطی سے آپ کی main branch نہیں توڑ سکتا۔
Worktrees git کی سب سے کم استعمال ہونے والی features میں سے ایک ہیں۔ AI-assisted development کے تناظر میں — جہاں agent منٹوں میں درجنوں file تبدیلیاں کر سکتا ہے — ہر agent کے کام کو اپنی branch اور folder میں isolate کرنے کی صلاحیت ایک اہم safety net ہے۔