कभी-कभी git rm --cached
गिट एक फाइल को अनस्टेज करने का सुझाव देता है, कभी-कभी git reset HEAD file
। मुझे कब उपयोग करना चाहिए?
संपादित करें:
D:\code\gt2>git init
Initialized empty Git repository in D:/code/gt2/.git/
D:\code\gt2>touch a
D:\code\gt2>git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# a
nothing added to commit but untracked files present (use "git add" to track)
D:\code\gt2>git add a
D:\code\gt2>git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: a
#
D:\code\gt2>git commit -m a
[master (root-commit) c271e05] a
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a
D:\code\gt2>touch b
D:\code\gt2>git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# b
nothing added to commit but untracked files present (use "git add" to track)
D:\code\gt2>git add b
D:\code\gt2>git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: b
#
rm
पूर्ववत करना तर्कसंगत नहीं है add
? आपको क्या लगता है कि आपको कैसा rm
व्यवहार करना चाहिए?
git init
कोई HEAD
को पुनर्स्थापित करने के लिए।
rm
एक यूनिक्स संदर्भ में विलोपन का मतलब है। यह सूचकांक में जोड़ने के विपरीत नहीं है। स्टेजिंग-स्टेट को बदलने के लिए फ़ंक्शन को हटाने के लिए फ़ंक्शन को कार्यों के साथ अतिभारित नहीं किया जाना चाहिए। यदि कार्यान्वयन विवरण हैं जो संयोजन करने के लिए सुविधाजनक बनाते हैं, तो यह आसानी से गिट में अमूर्तता की एक विचारशील परत की कमी को इंगित करता है, जो प्रयोज्य को स्पष्ट करेगा।
git rm
दोनों कर सकते हैं चरण एक विलोपन और भी unstage एक अतिरिक्त )