זוהי הפקודה git-rm שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות החינמיות שלנו כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS.
תָכְנִית:
שֵׁם
git-rm - הסרת קבצים מעץ העבודה ומהאינדקס
תַקצִיר
סילון rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] ...
תיאור
הסר קבצים מהאינדקס, או מעץ העבודה והאינדקס. git rm לא יעשה זאת.
הסרת קובץ רק מספריית העבודה שלך. (אין אפשרות להסיר קובץ בלבד
מעץ העבודה ועדיין לשמור אותו באינדקס; להשתמש /bin/rm אם אתם רוצים לעשות את זה.)
הקבצים שמוסרים חייבים להיות זהים לקצה הענף, ואין עדכונים ל...
ניתן להציג את תוכנם באינדקס, אם כי ניתן לעקוף את התנהגות ברירת המחדל הזו.
עם האפשרות -f. כאשר ניתן --cached, התוכן המבוצע חייב להתאים לטיפ
של הענף או הקובץ בדיסק, מה שמאפשר להסיר את הקובץ רק מהאינדקס.
אפשרויות
...
קבצים להסרה. ניתן להשתמש בקובץ Fileglob (לדוגמה *.c) כדי להסיר את כל הקבצים התואמים. אם
אם אתם רוצים ש-Git ירחיב את תווי ה-glob של הקובץ, ייתכן שתצטרכו להשתמש ב-shell-escape עבורם.
ניתן לתת שם ספרייה מובילה (למשל, dir להסרת dir/file1 ו- dir/file2) ל
להסיר את כל הקבצים בספרייה, ובאופן רקורסיבי את כל ספריות המשנה, אבל זה
דורש שהאפשרות -r תינתן במפורש.
-f, --כוח
בטל את הבדיקה המעודכנת.
-n, --- יבש-ריצה
אל תסיר קבצים. במקום זאת, פשוט הצג אם הם קיימים באינדקס ו...
אחרת יוסר על ידי הפקודה.
-r
אפשר הסרה רקורסיבית כאשר ניתן שם ספרייה מוביל.
--
ניתן להשתמש באפשרות זו כדי להפריד בין אפשרויות שורת פקודה לרשימת הקבצים,
(שימושי כאשר שמות קבצים עלולים להתבלבל עם אפשרויות שורת פקודה).
- מטמון
השתמש באפשרות זו כדי לבטל את השלבים ולהסיר נתיבים בלבד מהאינדקס. קבצי עץ עבודה,
בין אם שונה ובין אם לאו, יישאר ללא שינוי.
--ignore-unmatch
יציאה עם סטטוס אפס גם אם אין קבצים תואמים.
-ש, -שקט
git rm בדרך כלל מוציא שורה אחת (בצורת פקודת rm) עבור כל קובץ שמוסר.
אפשרות זו מדכאת את הפלט הזה.
דיון
ה הרשימה שניתנה לפקודה יכולה להיות שמות נתיבים מדויקים, תבניות גלוב קבצים, או
שמות ספריות מובילות. הפקודה מסירה רק את הנתיבים המוכרים ל-Git. מתן
שם של קובץ שלא סיפרת עליו לגיט לא מסיר את הקובץ הזה.
התאמות של קבצי צפייה בין גבולות ספריות. לכן, בהינתן שתי ספריות d ו-d2,
יש הבדל בין שימוש ב-git rm 'd*' לבין git rm 'd/*', מכיוון שהראשון גם יעשה זאת.
הסר את כל הספרייה d2.
הסרה קבצים ש יש נעלם מן LA מערכת קבצים
אין אפשרות עבור git rm להסיר מהאינדקס רק את הנתיבים שיש להם
נעלם ממערכת הקבצים. עם זאת, בהתאם למקרה השימוש, ישנם מספר
דרכים שניתן לעשות.
שימוש גיט לבצע -א"
אם אתם מתכוונים שה-commit הבא שלכם יתעד את כל השינויים של קבצים שעוקבים אחריהם ב-
עץ העבודה ולתעד את כל ההסרות של קבצים שהוסרו מעץ העבודה
עץ עם rm (בניגוד ל-git rm), השתמש ב-git commit -a, מכיוון שהוא ישים לב אוטומטית
ולתעד את כל ההסרות. ניתן גם להשיג אפקט דומה מבלי להתחייב על ידי שימוש
גיט תוספת -u.
שימוש גיט להוסיף -א"
בעת קבלת שחרור קוד חדש עבור סניף ספק, סביר להניח שתרצו לתעד את שני ה...
הסרת שבילים והוספת שבילים חדשים וכן שינויים שבילים קיימים.
בדרך כלל תחילה תסיר את כל הקבצים שעוקבים אחריהם מעץ העבודה באמצעות זה
פקודה:
git ls-files -z | xargs -0 rm -f
ולאחר מכן לבטל את הקוד החדש בעץ העבודה. לחלופין, ניתן rsync השינויים
לתוך עץ העבודה.
לאחר מכן, הדרך הקלה ביותר לתעד את כל ההסרות, התוספות והשינויים ב-
עץ העבודה הוא:
גיט תוספת -A
לִרְאוֹת git-add(1).
אחר דרכים
אם כל מה שאתה באמת רוצה לעשות הוא להסיר מהאינדקס את הקבצים שכבר אינם
קיים בעץ העבודה (אולי בגלל שעץ העבודה שלך מלוכלך כך שלא תוכל
השתמשו בפקודה git commit -a), השתמשו בפקודה הבאה:
git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached
תת-מודולים
רק תת-מודולים המשתמשים בקובץ gitfile (כלומר, הם שובטו עם גרסת Git 1.7.8 או
חדש יותר) יוסרו מעץ העבודה, מכיוון שהמאגר שלהם נמצא בתוך ה-.git
ספריית הפרויקט העל. אם עדיין תת-מודול (או אחד מאלה המקוננים בתוכו)
משתמש בספריית .git, git rm ייכשל - בין אם נכפה ובין אם לא - כדי להגן על
היסטוריית תת-המודול. אם היא קיימת, תת-המודול. סעיף ב- gitmodules(5) קובץ
גם כן יוסר והקובץ הזה יעבור תהליך של ביניים (אלא אם כן נעשה שימוש ב--cached או -n).
תת-מודול נחשב מעודכן כאשר ה-HEAD זהה לזה שנרשם באינדקס,
אין שינויים בקבצים שעוקבים אחריהם ואין קבצים שלא עוקבים אחריהם שלא הוזנחו.
עץ העבודה של תת-המודולים. קבצים שהוזנחו נחשבים קבצים הניתנים להוצאה לאור ולא יעצרו את פעולתו של תת-מודול.
עץ עבודה מפני הסרתו.
אם ברצונך להסיר רק את הקופה המקומית של תת-מודול מעץ העבודה שלך מבלי
ביצוע ההסרה, שימוש git-submodule(1) deinit במקום זאת.
דוגמאות
תיעוד git rm/\*.txt
מסיר את כל קבצי ה-*.txt מהאינדקס שנמצאים תחת ספריית התיעוד ו
כל אחת מתת-הספריות שלה.
שימו לב שהכוכבית * מצוטטת מהמעטפת בדוגמה זו; זה מאפשר ל-Git, ו-
לא את המעטפת, הרחב את שמות הנתיבים של קבצים ותת-ספריות תחת ה-
תיעוד/מדריך.
git rm -f git-*.sh
מכיוון שדוגמה זו מאפשרת לקליפה להרחיב את הכוכבית (כלומר, אתה מפרט את
קבצים במפורש), זה לא מסיר את subdir/git-foo.sh.
השתמש ב-git-rm באינטרנט באמצעות שירותי onworks.net
