Git überschreibt kein Symlink-Verzeichnis beim Auschecken von Zweigen

7

Wie kann ich mit git ein Verzeichnis schreibgeschützt machen?

Die Situation ist - im Projekt habe ich einen Symlink zum gemeinsamen Framework. Ich möchte nicht, dass es in irgendeiner Weise überschrieben / geändert wird (nicht einmal mtime oder atime).

Wie kann ich das machen - oder sehe ich das Ding aus einer falschen Perspektive?

Rok Kralj
quelle
Beim Auschecken werden normalerweise keine nicht verfolgten Dateien im Arbeitsverzeichnis berührt. Vielleicht fehlt mir dein Standpunkt.
Marco
Guter Punkt. Aber die Dateien müssen nachverfolgt werden , denn wenn ich sie zum Github drücke, möchte ich, dass andere sie abrufen können.
Rok Kralj
Sie möchten den Symlink verfolgen lassen oder worauf er verweist oder auf beides? Sie können nicht verhindern, dass Personen Dateien ändern, wenn sie einen Festschreibungszugriff haben.
Lynxlynxlynx

Antworten:

1

Für ein bestimmtes Verzeichnis ist es nicht möglich (wahrscheinlich bin ich nicht richtig). Zum Beispiel, wenn der Benutzer die folgenden Befehle ausführt

git fetch --all
git reset --hard origin/master

oder

git reset --hard HEAD
git pull

Für Details,

Die Git-Handbuchseite kann Ihnen helfen

Md Mahbubur Rahman
quelle
0

Zuallererst ist diese Frage wahrscheinlich eher für Programmierer geeignet . Und ja, Sie sehen es meiner Meinung nach aus der falschen Perspektive.

Im Grunde läuft es auf das Abhängigkeitsmanagement hinaus. Sie sollten nur die häufig verwendeten Tools Ihrer Sprache / Ihres Frameworks verwenden, um Abhängigkeiten auszudrücken, anstatt andere Projekte zu kopieren / zu verknüpfen.

Wenn Sie wirklich andere Git-Repositorys benötigen / referenzieren möchten, sollten Sie diese verwenden, git submoduleanstatt Symlinks zu anderen Repositorys zu benötigen.

Je besser und sauberer Ansatz ist das Paket-Management Ihrer Verteilung für das Abhängigkeitsmanagement zu verwenden, rpmoder dpkgoder lassen Sie einfach Ihr Build - System oder Tools kümmern sich um die Abhängigkeiten, wie zum Beispiel: maven, bundler, carton, openembedded.

Ulrich Dangel
quelle