Handleiding bij de broncodepreview · 0.1.0

De geschiedenis beschermen die je gaat pushen

Keur bescherming voor één clone goed en pas haar toe, inspecteer de uitgaande commitgeschiedenis en begrijp de exacte blokkeerreden.

De API-referentie is in het Engels.

Pas bescherming toe op de bedoelde clone

Pushbescherming gebruikt een expliciet geïnstalleerde lokale Git-hook. Een mislukte scan of ingestelde projectgate installeert die hook niet. Begin met een verbonden editorprofiel, de exacte geautoriseerde bronrepository en voorbereide scanners.

  1. Voer CodeSecurity: Protect Pushes… uit in VS Code. Het Command Palette vraagt een repository te kiezen; een Source Control-repositorymenu gebruikt de geselecteerde clone.
  2. Controleer de repositoryidentiteit. Los een verouderde of onduidelijke selectie op voordat je doorgaat.
  3. Vraag repositorytoegang aan en laat die exacte editorgeneratie goedkeuren in de gekoppelde eigenaarsbrowser. Gewoon IDE-lidmaatschap geeft deze toestemming niet.
  4. Kies de aangevraagde instelling On en voer expliciet Apply uit in VS Code.
  5. Lees de gemelde hosttoestand en los hookconflicten op voordat je op bescherming vertrouwt.
Toegepaste repositorypushbescherming en waargenomen toestand.

Bescherming hoort bij deze repositoryclone. Controleer de waargenomen toestand na toepassing van het aangevraagde beleid.

Open de volledige afbeelding

De Web-instelling registreert aangevraagde toestand. Change pending · Apply in VS Code betekent dat de host haar nog niet heeft toegepast. Dit geldt ook bij een verzoek om Off: een al toegepaste On-hook kan blijven blokkeren totdat die wijziging is toegepast. On · last verified en Off · last applied beschrijven de laatste waarneming.

De lokale hook roept een afzonderlijk gebundelde helper aan en kan daarom met gesloten editor werken als de benodigde backend beschikbaar is. Installatie bewaart andere hooks en lokale hookpadconfiguratie; een conflict dat niet veilig gecombineerd kan worden, wordt geweigerd. Globale Git-instellingen en remotes veranderen niet.

Beoordeel uitgaande commits vóór een push

Voer CodeSecurity: Check Outgoing Commits… uit via het Command Palette of het Source Control-menu van de bedoelde repository. Kies de geconfigureerde bestemming, lokale branch of tag en expliciete remote-referentie. Bekijk de reikwijdte voordat momentopnamen en scans worden ingediend. Deze opdracht controleert en voert geen push uit.

Pushcontrole / bind uitgaande geschiedenisDiagram
  1. Keur de exacte clone goed en pas toe

    Repositorygoedkeuring en hosttoepassing staan los van gewone editortoegang of werkruimtescans.

  2. Bepaal het uitgaande plan

    Bind bedoelde bestemming, refs, commits en onveranderlijke bronbomen. Eerdere uitgaande geschiedenis reist nog steeds naar de remote.

  3. Controleer toepasselijk boombewijs

    Vereis bij verzending van bronbomen actuele scanneridentiteit, volledige dekking en afgeronde analyse voor het plan.

  4. Evalueer actueel beleid en bevoegdheid

    Controleer toepasselijk beleid, beoordelingen en repositorytoestemming opnieuw tegen het exacte plan.

  5. Lees de beslissing

    Een geweigerde controle legt uit wat verzoend moet worden. Gewijzigde refs of bewijs vereisen een nieuwe toepasselijke controle.

De controle pusht zelf niet. Een lokale hook is omzeilbaar; remotecontroles zijn nodig waar handhaving onvermijdelijk moet zijn. Verwijderings- of no-op-plannen zonder uitgaande bronboom kunnen zonder scanners afronden.

De controle bindt de canonieke repository, uitgaande ref/objectparen, onveranderlijke bronbomen, geautoriseerde dekking, actueel beleid en scannerbewijs. Een werkruimte-, bestands- of mapscan of de laatst gekozen werkbankscan vervangt die commitgeschiedenis niet.

Een geheim dat bijvoorbeeld in een uitgaande commit wordt toegevoegd en in de volgende verwijderd, reist nog steeds mee in die eerdere commit. Een schone tip wist het niet. Beoordeel de falende historische boom in plaats van alleen de nieuwste werkbestanden opnieuw te scannen.

Elke repository heeft een onafhankelijke uitkomst. Ongewijzigde onveranderlijke inhoud kan toepasselijk bewijs hergebruiken, maar gewijzigde refs, beleid, bevindingenbeoordelingen of scanner-/gegevensidentiteit kunnen goedkeuring ongeldig maken. Alleen de gecureerde catalogus controleren installeert geen nieuwe scannergegevens. Actuele gereedheid blijft bepalen of bewijs bruikbaar is.

Lees de uitkomst voor het exacte plan

Een push met broninhoud vereist afgerond, toepasselijk en geslaagd bewijs. Ontbrekende, mislukte, verouderde, gedeeltelijke, geannuleerde of onbeschikbare verificatie blokkeert hem. De gate uitschakelen levert geen pass en andere beoordelingen vullen geen dekkingsgaten.

Een uitsluitend verwijderend of no-op-plan heeft geen uitgaande bronboom om te scannen. Zo’n plan kan zonder scanneruitvoering afronden, terwijl repositorygoedkeuring en actueel beleid blijven gelden. Lees het echte plan; leid bronboomloosheid niet af uit een lege bevindingenlijst.

Een controle annuleren stopt de huidige annuleerbare job en bewaart eerdere resultaten. Een bewaarde geannuleerde controle kan Start new check aanbieden met reikwijdte en eerdere job- en scanidentiteiten. Aanvaarden controleert de actuele toestand opnieuw en kan toepasselijk afgerond bewijs hergebruiken. Het hernoemt de geannuleerde controle niet tot geslaagd.

Onderzoek een geblokkeerde push

Gewone Git- of GitLens-meldingen kunnen algemeen adviseren om te pullen. Open Show Command Output in VS Code of Open Output Channel in GitLens en lees de daadwerkelijke uitkomst. Bij Lomo blocked this push keer je terug naar bescherming en uitgaande controle voor die clone.

Gebruik Review blocking findings na een afgeronde mislukte uitgaande scan. Het opent de exacte scan van de vastgelegde boom; kies de bedoelde scan als meerdere bomen falen. Historisch bewijs kan je huidige werkruimtebestand niet openen alsof dat de gecontroleerde boom is. Open protection settings opent het repositoryrecord zonder gate of toestemming te veranderen.

Een ongepubliceerde branch, ontbrekende remote-instelling of Nothing to push kan de client vóór de hook stoppen. Zulke meldingen zijn geen CodeSecurity-toestemming. Bevestig normale Git-branch en bestemming naast de beveiligingsuitkomst.

Herken dekkingsgrenzen

Dekking betreft gewone bestandsinhoud in nieuw uitgaande commitbomen. Commitberichten, tagberichten en andere Git-metadata buiten bestanden zijn geen scannerbestandsinvoer. Niet-ondersteunde symlinks, submodules, shallow repositories, alternatieve objectopslag of onverifieerbare dekking worden geweigerd.

Grens Huidige limiet
Eén push 64 refs, 256 verschillende gecontroleerde commits en 32 KiB hookinvoer.
Eén onveranderlijke boom 5.000 gewone bestanden, 8 MiB overdracht per bestand en 64 MiB totale bestandsinhoud.
Geschikte codeanalyse 1 MiB per bestand; een groter geschikt codebestand maakt dekking onvolledig.
Paden 64 componenten en 4.096 UTF-16-code-eenheden; onveilige paden worden geweigerd.
Eén begrensde Git-metadataopdracht 4 MiB uitvoer.

Bij een bestaande remote-ref moet de oude commit lokaal beschikbaar zijn. Een nieuwe branch heeft geen oude basis, dus alle vanaf de tip bereikbare geschiedenis telt mee voor de commitlimiet, ook als een andere remotebranch delen bevat. De controle haalt geen ontbrekende objecten stilzwijgend op en kapt geschiedenis niet af.

Een limietweigering keurt geen push goed. Beperk de refselectie als dat een refaantallimiet oplost, of regel een afzonderlijk goedgekeurd beoordelings- en handhavingspad voor niet-ondersteunde geschiedenis of bomen. Een kleinere werkruimtescan levert het ontbrekende bewijs niet.

Schakel bescherming uit of verwijder haar

Off vereist de waarschuwing en expliciete hosttoepassing. Annuleren laat de instelling ongewijzigd. Na toegepaste Off leest de helper geen broncode, vereist hij geen online API en legt hij geen On-only-bron- en reflimieten op. Registratie en hookconfiguratie blijven beschikbaar voor expliciet opnieuw inschakelen.

Verwijderen is afzonderlijk. Kies in het exacte eigenaarprofiel Protect Pushes… > Remove push protection from this clone… en bevestig de repository. Verwijdering richt zich uitsluitend op de ongewijzigde Lomo-hook, beschermingsregistratie en repositoryspecifieke toestemmingen en bindingen. Projecten, scans, bevindingen, bewaarde momentopnamen, algemene koppeling, remotes en hooks van andere tools blijven bestaan.

Een project dat nog door bescherming of zijn Git-momentopnamebron wordt gebruikt, kan niet worden verwijderd, ook niet met Off. Verwijder eerst de registratie als je daarna afzonderlijk het project wilt verwijderen.

Als lokale verwijdering slaagt maar serveropruiming onbeschikbaar is, probeer verwijdering opnieuw vanuit hetzelfde profiel zodra de dienst terug is. Gewijzigde of onbekende hookbestanden blijven behouden. Vraag na intrekken en opnieuw inschrijven van een editor goedkeuring voor de nieuwe generatie en voer opnieuw expliciet Apply uit; de oude repositorytoestemming wordt niet geërfd.

Test zonder broncode te publiceren

Gebruik voor een bewuste handmatige controle een wegwerprepository en een exacte lokale bare remote. Gebruik synthetische bevindingen en controleer remoterefs vóór en na gewone Git-pushes. Een blokkering moet ze ongewijzigd laten; een toegestane push mag alleen de bedoelde refs wijzigen. Neem problematische eerdere geschiedenis met een schone tip op, zodat een tip-only-controle niet voldoende lijkt.

Een lokale hook kan door zijn eigenaar worden omzeild of via een andere clone worden vermeden. Behoud passende remotecontroles waar handhaving onvermijdelijk moet zijn. Een geslaagde handmatige controle dekt de uitgevoerde gevallen, niet elk platform, reftype of herstelpad.

Lees gatebeslissingen, bevindingenbeoordeling en de Git-beschermings-API voor de bijbehorende bediening.