2017-07-19 3 views
1

In VSTS sind mehrere Verzweigungen im Repository verfügbar. Ich muss nur einen Zweig für ein Team zugänglich machen. In der Berechtigungseinstellung ohne Leseberechtigung kann das Team das Repository anzeigen.Ansicht und Zugriff auf nur eine Verzweigung in einem Repository

Ich kann sehen, Zweig Einstellung, die dazu beitragen, beitragen. Ohne Leseberechtigung kann das Team das Repository nicht anzeigen. Wenn ich read aktiviere, können sie alle Zweige im Repo anzeigen.

Ich brauche das Team, um keine Verzweigung in einem anderen Repository als eine Verzweigung anzuzeigen. Kann jemand den besten Ansatz vorschlagen?

Antwort

1

So funktioniert Git nicht. Zweige sind nichts mehr als Hinweise auf Commits. Sie können Personen davon abhalten, Änderungen an einem bestimmten Zweig vorzunehmen, und Sie können Personen daran hindern, vollständig auf den Repo zuzugreifen. Wenn Sie jedoch ein Repo klonen, wird die gesamte Sache heruntergefahren, die Geschichte eingeschlossen, und es gibt keine Möglichkeit, die Leute daran zu hindern, den Inhalt anzuzeigen das Repository, sobald sie eine Kopie davon haben.

Ich vermute, das ist ein XY-Problem. Sie haben ein Problem, das Sie lösen möchten, und Sie haben entschieden, dass nur der Zugriff auf einen einzigen Zweig für ein bestimmtes Team der richtige Ansatz ist, um das Problem zu lösen. Ich schlage vor, eine neue Frage zu stellen, die sich darauf konzentriert, eine Lösung für das Kernproblem zu finden.

+0

Gibt es eine Möglichkeit, den einzelnen Zweig für ein bestimmtes Team zu öffnen? – KRH

+0

Nein. So funktioniert Git nicht. –

0

Machen Sie Ihre Freunde, um nur einen Zweig zu klonen.

git clone -b branch_name --single-branch https://[email protected]/usr/repo.git 

Jetzt können Sie andere vorhandene Zweige nicht auschecken. Aber Sie können helfen Zweig für Ihre bestimmte Branche zu erstellen.

0

Als Daniel mentioned, wenn jemand in der Lage ist, einen Zweig zu bekommen, sind alle Geschichte und andere Zweige auch für ihn/sie verfügbar.

Wenn jedoch das Team hat ein anderes Repository (RepoB), wobei eines der Elemente (Sie, zum Beispiel) Zugriff auf beiden Repositorys hat (RepoB und die Privat ein, REPOA) in einem Server, der die Team sollte nicht zugreifen, ein Batch-Skript könnte automatisch geschrieben werden:

  1. Klon der Zweig von RepoA;
  2. Kopieren Sie diesen Code in einen bestimmten Zweig von RepoB, die nur den neuesten Code aus dem RepoA-Zweig hat;
  3. Push dieser Code in diesen Zweig des gleichen RepoB und das Team informieren, dass sie nun mit ihrem Entwicklungszweig zusammenführen können (vielleicht ein conservative merging strategy, e.g. patience?) verwenden.

Ein ähnlicher Batch-Skript auch einen umgekehrten Vorgang auszuführen geschrieben werden kann, dh der RepoA-Zweig könnte mit dem Code aus RepoBs Entwicklungszweig aktualisiert werden

Verwandte Themen