Was ist ein im git-Befehl?

Lesezeit: 5 Minuten

Was ist ein im git Befehl
Samantha JT-Star

Ich habe Dateien in meiner Anwendung aktualisiert, geändert und entfernt und bin jetzt bereit, sie zu übernehmen. Hier ist der Stand:

C:\G\ab\WebAdminApp>git status
On branch master
Your branch is up-to-date with 'origin/master'.

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   WebAdminApp.csproj
        modified:   WebAdminApp.csproj.user
        modified:   app/admin/controllers/ContentController.ts
        deleted:    app/admin/interfaces/IEnumService.ts
        modified:   app/admin/interfaces/IHomeController.d.ts
        modified:   lib/pagedown/Markdown.Sanitizer.ts
        deleted:    lib/typings/global.ts
        modified:   package.json
        modified:   ../abilitest-admin.v12.suo

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        app/interfaces/IEnumService.d.ts
        app/interfaces/IUtilityService.d.ts
        ../npm-debug.log

keine Änderungen zum Commit hinzugefügt (verwenden Sie “git add” und/oder “git commit -a”)

Wenn ich eintrete:

git add . 

Es gibt mir eine Nachricht, die besagt:

C:\G\ab\WebAdminApp>git add .
warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal',
whose behaviour will change in Git 2.0 with respect to paths you removed.
Paths like 'WebAdminApp/app/admin/interfaces/IEnumService.ts' that are
removed from your working tree are ignored with this version of Git.

* 'git add --ignore-removal <pathspec>', which is the current default,
  ignores paths you removed from your working tree.

* 'git add --all <pathspec>' will let you also record the removals.

Ich möchte, dass alles, was ich auf meinem lokalen PC getan habe, festgeschrieben wird, und dann möchte ich, dass der Master auf GITHUB dies widerspiegelt.

Kann jemand erklären, was es bedeutet und was muss ich jetzt eingeben, damit alle änderungen mit einem git commit festgeschrieben werden können? Sorry ist mir nicht klar. Ist das Verzeichnis oder ?

1647206886 544 Was ist ein im git Befehl
mfaani

Diese Antwort war ganz abgeleitet von Git-Pfadspezifikationen und wie man sie verwendet. Ich habe nicht alles kopiert, also schauen Sie sich den Link an, um tiefer zu graben


Die pathspec ist der Mechanismus, den Git verwendet, um den Umfang eines Git-Befehls auf eine Teilmenge des Repositorys zu beschränken. Wenn Sie viel Git verwendet haben, haben Sie wahrscheinlich a verwendet pathspec ob du es weißt oder nicht. Zum Beispiel im Befehl git add README.mdder pathspec ist README.md. Es ist jedoch zu viel mehr Nuancen und Flexibilität fähig.

Also, warum sollten Sie lernen pathspecS? Da es Teil vieler Befehle ist, werden diese Befehle mit einem Verständnis von viel mächtiger pathspecS. Mit git add, können Sie nur die Dateien innerhalb eines einzelnen Verzeichnisses hinzufügen. Mit git diffkönnen Sie nur die Änderungen untersuchen, die an Dateinamen mit der Erweiterung vorgenommen wurden .scss. Sie können alle Dateien außer denen in der grep git grep /dist Verzeichnis.

Datei oder Verzeichnis

git add .      # add CWD (current working directory)
git add ..     # add parent directory and its subdirectories
git add src/   # add src/ directory
git add README # add only README directory

Beachten Sie auch, dass die git add Befehl nimmt [<pathspec>...]. Die ... bedeutet Möglichkeit des mehrfachen Auftretens. Sie können also Folgendes tun:

git add /content /images

und das würde alle Änderungen unter beiden Verzeichnissen.

wenn du es jemals tust ls -alistet es alle Dateien und ‘Verzeichniseinträge’ auf, die es enthält . und .. für mehr siehe Hier

Platzhalter

git log '*.js' # logs all .js files in CWD and subdirectories
git log '.*'   # logs all 'hidden' files and directories in CWD
git log '*/.*' # logs all 'hidden' files and directories in subdirectories

oben

Die top Die Signatur weist Git an, das Muster aus dem Stamm des Git-Repositorys und nicht aus dem aktuellen Arbeitsverzeichnis abzugleichen. Sie können auch die Kurzform verwenden :/ eher, als :(top).

git ls-files ':(top)*.js'
git ls-files ':/*.js' # shorthand

icase

Die icase Die Signatur weist Git an, sich beim Abgleich nicht um Groß- und Kleinschreibung zu kümmern, z. B. könnte dies beim Abgleich nützlich sein jpg Dateien, die manchmal die Erweiterung in Großbuchstaben verwenden JPG.

git ls-files ':(icase)*.jpg'

ausschließen

Schließlich gibt es noch die magische Signatur „ausschließen“ (Kurzform von :! oder :^). zB können Sie alle Ihre durchsuchen .js Dateien unter Ausschluss der .spec.js Testdateien.

git grep 'foo' -- '*.js' ':(exclude)*.spec.js' # search .js files excluding .spec.js
git grep 'foo' -- '*.js' ':!*.spec.js' .       # shorthand for the same

1647206886 957 Was ist ein im git Befehl
chwarr

Von dem Git-Glossar:

[A pathspec is a pattern] Wird verwendet, um Pfade in Git-Befehlen zu begrenzen.

Pfadangaben werden auf der Befehlszeile von „git ls-files“, „git ls-tree“, „git add“, „git grep“, „git diff“, „git checkout“ und vielen anderen Befehlen verwendet, um den Umfang einzuschränken von Operationen zu einer Teilmenge des Baums oder Arbeitsbaums.

Als Beispiel der Befehl git add :/**.ts fügt dem Index rekursiv alle Dateien hinzu, die mit enden .ts beginnend im Stammverzeichnis des Projektarchivs (unter Berücksichtigung der verschiedenen Möglichkeiten zum Ignorieren von Dateien).

  • :/ as git root ist sehr hilfreich, um eine Datei auszuchecken, ohne den relativen Pfad zu verwenden. TYVM

    – jrwren

    2. August 2017 um 21:54 Uhr

Wenn Sie möchten, dass die gelöschten Dateien auch im Repository gelöscht werden, tun Sie dies git add --all .. Wenn Sie nicht möchten, dass sie im Repository gelöscht werden, tun Sie dies git add --ignore-removal ..

999060cookie-checkWas ist ein im git-Befehl?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy