<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>git-secret</title>
    <description>Shell scripts to encrypt your private data inside a git repository.</description>
    <link>git-secret.io/</link>
    <atom:link href="git-secret.io/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Thu, 27 Oct 2022 17:52:19 +0000</pubDate>
    <lastBuildDate>Thu, 27 Oct 2022 17:52:19 +0000</lastBuildDate>
    <generator>Jekyll v3.9.2</generator>
    
      <item>
        <title>git-secret</title>
        <description>&lt;h1 id=&quot;git-secret---bash-tool-to-store-private-data-inside-a-git-repo&quot;&gt;git-secret - bash tool to store private data inside a git repo.&lt;/h1&gt;

&lt;h2 id=&quot;usage-setting-up-git-secret-in-a-repository&quot;&gt;Usage: Setting up git-secret in a repository&lt;/h2&gt;

&lt;p&gt;These steps cover the basic process of using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt;
to specify users and files that will interact with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt;, 
and to encrypt and decrypt secrets.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Before starting, &lt;a href=&quot;#using-gpg&quot;&gt;make sure you have created a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt; RSA key-pair&lt;/a&gt;: 
which are a public key and a secret key pair, identified by your email address and
stored with your gpg configuration.
Generally this gpg configuration and keys will be stored somewhere in your home directory.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Begin with an existing or new git repository.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Initialize the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; repository by running &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret init&lt;/code&gt;. The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret/&lt;/code&gt; folder will be created,
with subdirectories &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;keys/&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;paths/&lt;/code&gt;, 
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret/keys/random_seed&lt;/code&gt; will be added to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitignore&lt;/code&gt;,
and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitignore&lt;/code&gt; will be configured to &lt;em&gt;not&lt;/em&gt; ignore &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.secret&lt;/code&gt; files.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; all the contents of the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret/&lt;/code&gt; folder should be checked in, &lt;strong&gt;/except/&lt;/strong&gt; the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;random_seed&lt;/code&gt; file.
This also means that of all the files in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret/&lt;/code&gt;, only the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;random_seed&lt;/code&gt; file should be mentioned in your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitignore&lt;/code&gt; file.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Add the first user to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; repo keyring by running &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret tell your@email.id&lt;/code&gt;.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Now it’s time to add files you wish to encrypt inside the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; repository.
This can be done by running &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret add &amp;lt;filenames...&amp;gt;&lt;/code&gt; command, which will also (as of 0.2.6) 
add entries to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitignore&lt;/code&gt;, stopping those files from being added or committed to the repo unencrypted.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Then run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret hide&lt;/code&gt; to encrypt the files you added with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret add&lt;/code&gt;.
The files will be encrypted with the public keys in your git-secret repo’s keyring,
each corresponding to a user’s email that you used with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tell&lt;/code&gt;.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret hide&lt;/code&gt; to encrypt your data, it is safe to commit your changes.
&lt;strong&gt;NOTE:&lt;/strong&gt; It’s recommended to add the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret hide&lt;/code&gt; command to your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pre-commit&lt;/code&gt; hook, so you won’t miss any changes.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Later you can decrypt files with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret reveal&lt;/code&gt; command, or print their contents to stdout with the
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret cat&lt;/code&gt; command. If you used a password on your GPG key (always recommended), it will ask you for your password.
And you’re done!&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;usage-adding-someone-to-a-repository-using-git-secret&quot;&gt;Usage: Adding someone to a repository using git-secret&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;#using-gpg&quot;&gt;Get their &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt; public-key&lt;/a&gt;. &lt;strong&gt;You won’t need their secret key.&lt;/strong&gt;
They can export their public key for you using a command like: 
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg --armor --export their@email.id &amp;gt; public_key.txt # --armor here makes it ascii&lt;/code&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Import this key into your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt; keyring (in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;~/.gnupg&lt;/code&gt; or similar) by running &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg --import public_key.txt&lt;/code&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Now add this person to your secrets repo by running &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret tell their@email.id&lt;/code&gt;
(this will be the email address associated with their public key)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Now remove the other user’s public key from your personal keyring with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg --delete-keys their@email.id&lt;/code&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The newly added user cannot yet read the encrypted files. Now, re-encrypt the files using
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret reveal; git secret hide -d&lt;/code&gt;, and then commit and push the newly encrypted files.
(The -d options deletes the unencrypted file after re-encrypting it).
Now the newly added user will be able to decrypt the files in the repo using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret reveal&lt;/code&gt;.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Note that when you first add a user to a git-secret repo, they will not be able to decrypt existing files
until another user re-encrypts the files with the new keyring.&lt;/p&gt;

&lt;p&gt;If you do not
want unexpected keys added, you can configure some server-side security policy with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pre-receive&lt;/code&gt; hook.&lt;/p&gt;

&lt;h3 id=&quot;using-gpg&quot;&gt;Using gpg&lt;/h3&gt;

&lt;p&gt;You can follow a quick &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt; tutorial at &lt;a href=&quot;https://www.devdungeon.com/content/gpg-tutorial&quot;&gt;devdungeon&lt;/a&gt;. Here are the most useful commands to get started:&lt;/p&gt;

&lt;p&gt;To generate a RSA key-pair, run:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;gpg &lt;span class=&quot;nt&quot;&gt;--gen-key&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;To export your public key, run:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;gpg &lt;span class=&quot;nt&quot;&gt;--armor&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--export&lt;/span&gt; your.email@address.com &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; public-key.gpg
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;To import the public key of someone else (to share the secret with them for instance), run:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;gpg &lt;span class=&quot;nt&quot;&gt;--import&lt;/span&gt; public-key.gpg
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;To make sure you get the original public keys of the indicated persons, be sure to use a secure channel to transfer it, or use a service you trust, preferably one that uses encryption such as Keybase, to retrieve their public key. Otherwise you could grant the wrong person access to your secrets by mistake!&lt;/p&gt;

&lt;h3 id=&quot;using-git-secret-for-continuous-integration--continuous-deployment-cicd&quot;&gt;Using git-secret for Continuous Integration / Continuous Deployment (CI/CD)&lt;/h3&gt;

&lt;p&gt;When using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; for CI/CD, you get the benefit that any deployment is necessarily done with the correct configuration, since it is collocated
with the changes in your code.&lt;/p&gt;

&lt;p&gt;One way of doing it is the following:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;#using-gpg&quot;&gt;create a gpg key&lt;/a&gt; for your CI/CD environment. You can chose any name and email address you want: for instance &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MyApp Example &amp;lt;myapp@example.com&amp;gt;&lt;/code&gt;
if your app is called MyApp and your CI/CD provider is Example. It is easier not to define a passphrase for that key. However, if defining a passphrase is unavoidable, use a unique passphrase for the private key.&lt;/li&gt;
  &lt;li&gt;run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg --armor --export-secret-key myapp@example.com&lt;/code&gt; to get your private key value&lt;/li&gt;
  &lt;li&gt;Create an env var on your CI/CD server &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;GPG_PRIVATE_KEY&lt;/code&gt; and assign it the private key value. If a passphrase has been setup for the private key, create another env var on the CI/CD server &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;GPG_PASSPHRASE&lt;/code&gt; and assign it the passphrase of the private key.&lt;/li&gt;
  &lt;li&gt;Then write your Continuous Deployment build script. For instance:&lt;/li&gt;
&lt;/ol&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# As the first step: install git-secret,&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# see: https://git-secret.io/installation&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# Create private key file&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$GPG_PRIVATE_KEY&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; ./private_key.gpg
&lt;span class=&quot;c&quot;&gt;# Import private key and avoid the &quot;Inappropriate ioctl for device&quot; error&lt;/span&gt;
gpg &lt;span class=&quot;nt&quot;&gt;--batch&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--yes&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--pinentry-mode&lt;/span&gt; loopback &lt;span class=&quot;nt&quot;&gt;--import&lt;/span&gt; private_key.gpg
&lt;span class=&quot;c&quot;&gt;# Reveal secrets without user interaction and with passphrase. If no passphrase&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# is created for the key, remove `-p $GPG_PASSPHRASE`&lt;/span&gt;
git secret reveal &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$GPG_PASSPHRASE&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# carry on with your build script, secret files are available ...&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Note: your CI/CD might not allow you to create a multiline value. In that case, you can export it on one line with&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;gpg &lt;span class=&quot;nt&quot;&gt;--armor&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--export-secret-key&lt;/span&gt; myapp@example.com | &lt;span class=&quot;nb&quot;&gt;tr&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'\n'&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;','&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You can then create your private key file with:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$GPG_PRIVATE_KEY&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;tr&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;','&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'\n'&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; ./private_key.gpg
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Also note: the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt; version on the CI/CD server &lt;strong&gt;MUST INTEROPERATE&lt;/strong&gt; with the one used locally. Otherwise, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt; decryption can fail, which leads to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret reveal&lt;/code&gt; reporting &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cannot find decrypted version of file&lt;/code&gt; error. The best way to ensure this is to use the same version of gnupg on different systems.&lt;/p&gt;

&lt;h2 id=&quot;environment-variables-and-configuration&quot;&gt;Environment Variables and Configuration&lt;/h2&gt;

&lt;p&gt;You can configure the version of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt; used, or the extension your encrypted files use, to suit your workflow better.
To do so, just set the required variable to the value you need.
This can be done in your shell environment file or with each &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; command.
See below, or the man page of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; for an explanation of the environment variables &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; uses.&lt;/p&gt;

&lt;p&gt;The settings available to be changed are:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$SECRETS_VERBOSE&lt;/code&gt; - sets the verbose flag to on for all &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; commands; is identical to using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-v&lt;/code&gt; on each command that supports it.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$SECRETS_GPG_COMMAND&lt;/code&gt; - sets the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt; alternatives, defaults to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt;.
It can be changed to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg2&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pgp&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/usr/local/gpg&lt;/code&gt; or any other value.
After doing so rerun the tests to be sure that it won’t break anything. Tested with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg2&lt;/code&gt;.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$SECRETS_GPG_ARMOR&lt;/code&gt; - sets the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt; &lt;a href=&quot;https://www.gnupg.org/gph/en/manual/r1290.html&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--armor&lt;/code&gt; mode&lt;/a&gt;. Can be set to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1&lt;/code&gt; to store secrets file as text. By default is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0&lt;/code&gt; and store files as binaries.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$SECRETS_EXTENSION&lt;/code&gt; - sets the secret files extension, defaults to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.secret&lt;/code&gt;. It can be changed to any valid file extension.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$SECRETS_DIR&lt;/code&gt; - sets the directory where &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; stores its files, defaults to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret&lt;/code&gt;. It can be changed to any valid directory name.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$SECRETS_PINENTRY&lt;/code&gt; - allows user to specify a setting for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt;’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--pinentry&lt;/code&gt; option. See &lt;a href=&quot;https://github.com/gpg/pinentry&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt; docs&lt;/a&gt; for details about gpg’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--pinentry&lt;/code&gt; option.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;the-gitsecret-folder-can-be-overridden-with-secrets_dir&quot;&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret&lt;/code&gt; folder (can be overridden with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_DIR&lt;/code&gt;)&lt;/h2&gt;

&lt;p&gt;This folder contains information about the files encrypted by git-secret,
and about which public/private key sets can access the encrypted data.&lt;/p&gt;

&lt;p&gt;You can change the name of this directory using the SECRETS_DIR environment variable.&lt;/p&gt;

&lt;p&gt;Use the various &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; commands to manipulate the files in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret&lt;/code&gt;,
you should not change the data in these files directly.&lt;/p&gt;

&lt;p&gt;Exactly which files exist in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret&lt;/code&gt; folder and what their contents are
vary slightly across different versions of gpg. Also, some versions of gpg
might not work well with keyrings created or modified with newer versions of gpg. 
Thus it is best to use git-secret with the same version of gpg being used by all users.
This can be forced by installing matching versions of gpg 
and using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_GPG_COMMAND&lt;/code&gt; environment variable.&lt;/p&gt;

&lt;p&gt;For example, there is an issue between &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt; version 2.1.20 and later versions
which can cause problems reading and writing keyring files between systems
(this shows up in errors like ‘gpg: skipped packet of type 12 in keybox’).&lt;/p&gt;

&lt;p&gt;This is not the only issue it is possible to encounter sharing files between different versions
of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt;.
Generally you are most likely to encounter issues between &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt;
versions if you use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret tell&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret removeperson&lt;/code&gt; to modify
your repo’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; keyring using a newer version of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt;, and then try to operate
on that keyring using an older version of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; internal data is separated into two directories:&lt;/p&gt;

&lt;h3 id=&quot;gitsecretpaths&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret/paths&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;This directory currently contains only the file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mapping.cfg&lt;/code&gt;, which lists all the files git-secret will consider secret.
In other words, the path mappings: what files are tracked to be hidden and revealed.&lt;/p&gt;

&lt;p&gt;All other internal data used by git-secret is stored in the directory:&lt;/p&gt;

&lt;h3 id=&quot;gitsecretkeys&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret/keys&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;This directory contains data used by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt; to encrypt files to 
be accessed by the permitted users.&lt;/p&gt;

&lt;p&gt;In particular, this directory contains a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gnupg keyring&lt;/code&gt; with public keys for the emails used with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tell&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This is the keyring used to encrypt files with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-hide&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-reveal&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-cat&lt;/code&gt;, which decrypt secrets,
instead use the user’s &lt;em&gt;private keys&lt;/em&gt; (which probably reside somewhere like ~/.gnupg/).
Note that user’s private keys, needed for decryption, are &lt;em&gt;not&lt;/em&gt; in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret/keys&lt;/code&gt; directory.&lt;/p&gt;

&lt;p&gt;Generally speaking, all the files in this directory &lt;em&gt;except&lt;/em&gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;random_seed&lt;/code&gt; should be checked into your repo.
By default, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret init&lt;/code&gt; will add the file &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret/keys/random_seed&lt;/code&gt; to your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitignore&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;Again, you can change the name of this directory using the SECRETS_DIR environment variable.&lt;/p&gt;
</description>
        <pubDate>Thu, 27 Oct 2022 17:51:47 +0000</pubDate>
        <link>git-secret.io/git-secret</link>
        <guid isPermaLink="true">git-secret.io/git-secret</guid>
        
        
        <category>usage</category>
        
      </item>
    
      <item>
        <title>git-secret-whoknows</title>
        <description>&lt;h1 id=&quot;git-secret-whoknows---print-email-for-each-key-in-the-keyring&quot;&gt;git-secret-whoknows - print email for each key in the keyring.&lt;/h1&gt;

&lt;h2 id=&quot;synopsis&quot;&gt;SYNOPSIS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git secret whoknows
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;description&quot;&gt;DESCRIPTION&lt;/h2&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-whoknows&lt;/code&gt; - print email addresses allowed to access the secrets in this repo.&lt;/p&gt;

&lt;h2 id=&quot;options&quot;&gt;OPTIONS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;-l  - 'long' output, shows key expiration dates.
-h  - shows this help.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;manual&quot;&gt;MANUAL&lt;/h2&gt;

&lt;p&gt;Run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;man git-secret-whoknows&lt;/code&gt; to see this document.&lt;/p&gt;

&lt;h2 id=&quot;see-also&quot;&gt;SEE ALSO&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://git-secret.io/git-secret-list&quot;&gt;git-secret-list(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-tell&quot;&gt;git-secret-tell(1)&lt;/a&gt;,
&lt;a href=&quot;https://git-secret.io/git-secret-hide&quot;&gt;git-secret-hide(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-reveal&quot;&gt;git-secret-reveal(1)&lt;/a&gt;,
&lt;a href=&quot;https://git-secret.io/git-secret-cat&quot;&gt;git-secret-cat(1)&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 27 Oct 2022 17:51:47 +0000</pubDate>
        <link>git-secret.io/git-secret-whoknows</link>
        <guid isPermaLink="true">git-secret.io/git-secret-whoknows</guid>
        
        
        <category>command</category>
        
      </item>
    
      <item>
        <title>git-secret-usage</title>
        <description>&lt;h1 id=&quot;git-secret-usage---prints-all-the-available-commands&quot;&gt;git-secret-usage - prints all the available commands.&lt;/h1&gt;

&lt;h2 id=&quot;synopsis&quot;&gt;SYNOPSIS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git secret usage
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;description&quot;&gt;DESCRIPTION&lt;/h2&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-usage&lt;/code&gt; - prints all the available &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; commands.&lt;/p&gt;

&lt;h2 id=&quot;options&quot;&gt;OPTIONS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;-h  - shows this help.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;manual&quot;&gt;MANUAL&lt;/h2&gt;

&lt;p&gt;Run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;man git-secret-usage&lt;/code&gt; to see this document.&lt;/p&gt;

&lt;h2 id=&quot;see-also&quot;&gt;SEE ALSO&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://git-secret.io/git-secret-init&quot;&gt;git-secret-init(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-add&quot;&gt;git-secret-add(1)&lt;/a&gt;,
&lt;a href=&quot;https://git-secret.io/git-secret-hide&quot;&gt;git-secret-hide(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-reveal&quot;&gt;git-secret-reveal(1)&lt;/a&gt;,
&lt;a href=&quot;https://git-secret.io/git-secret-cat&quot;&gt;git-secret-cat(1)&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 27 Oct 2022 17:51:47 +0000</pubDate>
        <link>git-secret.io/git-secret-usage</link>
        <guid isPermaLink="true">git-secret.io/git-secret-usage</guid>
        
        
        <category>command</category>
        
      </item>
    
      <item>
        <title>git-secret-tell</title>
        <description>&lt;h1 id=&quot;git-secret-tell---adds-person-who-can-access-private-data&quot;&gt;git-secret-tell - adds person who can access private data.&lt;/h1&gt;

&lt;h2 id=&quot;synopsis&quot;&gt;SYNOPSIS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git secret tell [-m] [-d dir] [emails]...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;description&quot;&gt;DESCRIPTION&lt;/h2&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret tell&lt;/code&gt; - adds user(s) to the list of those able to encrypt/decrypt secrets.&lt;/p&gt;

&lt;p&gt;This lets the specified user encrypt new files,
but will not immediately be able to decrypt existing files, which were encrypted without their key.
Files should be re-encrypted with the new keyring by someone who already has access
in order for the new user to be able to decrypt the files.&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret tell&lt;/code&gt; works only with email addresses, and will exit with an error if you have
multiple keys in your keyring with specified email addresses, or if one of the specified emails
is already associated with a key in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; repo’s keyring.&lt;/p&gt;

&lt;p&gt;Under the hood, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-tell&lt;/code&gt; searches in the current user’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gnupg&lt;/code&gt; keyring for public key(s) of passed
email(s), then imports the corresponding public key(s) into your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; repo’s keyring.&lt;/p&gt;

&lt;p&gt;Versions of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret tell&lt;/code&gt; after &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0.3.2&lt;/code&gt; will warn about keys that are expired, revoked, or otherwise invalid.
It will also warn if multiple keys are found for a single email address.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do not manually import secret keys into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt;&lt;/strong&gt;. It won’t work with imported secret keys anyway.&lt;/p&gt;

&lt;p&gt;For more details about how &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; uses public and private keys,
see the documentation for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-hide&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-reveal&lt;/code&gt;.&lt;/p&gt;

&lt;h2 id=&quot;options&quot;&gt;OPTIONS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;-m  - uses your current `git config user.email` setting as an identifier for the key.
-d  - specifies `--homedir` option for `gpg`, basically use this option if your store your keys in a custom location.
-h  - shows help.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;manual&quot;&gt;MANUAL&lt;/h2&gt;

&lt;p&gt;Run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;man git-secret-tell&lt;/code&gt; to see this document.&lt;/p&gt;

&lt;h2 id=&quot;see-also&quot;&gt;SEE ALSO&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://git-secret.io/git-secret-init&quot;&gt;git-secret-init(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-add&quot;&gt;git-secret-add(1)&lt;/a&gt;,
&lt;a href=&quot;https://git-secret.io/git-secret-hide&quot;&gt;git-secret-hide(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-reveal&quot;&gt;git-secret-reveal(1)&lt;/a&gt;,
&lt;a href=&quot;https://git-secret.io/git-secret-cat&quot;&gt;git-secret-cat(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-removeperson&quot;&gt;git-secret-removeperson(1)&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 27 Oct 2022 17:51:47 +0000</pubDate>
        <link>git-secret.io/git-secret-tell</link>
        <guid isPermaLink="true">git-secret.io/git-secret-tell</guid>
        
        
        <category>command</category>
        
      </item>
    
      <item>
        <title>git-secret-reveal</title>
        <description>&lt;h1 id=&quot;git-secret-reveal---decrypts-all-added-files&quot;&gt;git-secret-reveal - decrypts all added files.&lt;/h1&gt;

&lt;h2 id=&quot;synopsis&quot;&gt;SYNOPSIS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git secret reveal [-f] [-F] [-P] [-v] [-d dir] [-p password] [pathspec]...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;description&quot;&gt;DESCRIPTION&lt;/h2&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-reveal&lt;/code&gt; - decrypts passed files, or all files considered secret by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Under the hood, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;reveal&lt;/code&gt; uses the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg --decrypt&lt;/code&gt; command
and your private key (typically from your personal keyring in your
home directory) to &lt;em&gt;decrypt&lt;/em&gt; files.&lt;/p&gt;

&lt;p&gt;Therefore, for this operation to succeed, your personal keyring must contain a private key 
matching one of the public keys which were used to encrypt the secrets –
i.e., one of the public keys in your repo’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; keyring when the file was encrypted.&lt;/p&gt;

&lt;h2 id=&quot;options&quot;&gt;OPTIONS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;-f  - forces gpg to overwrite existing files without prompt.
-F  - forces reveal to continue even if a file fails to decrypt.
-d  - specifies `--homedir` option for the `gpg`, basically use this option if you store your keys in a custom location.
-v  - verbose, shows extra information.
-p  - specifies password for noinput mode, adds `--passphrase` option for `gpg`.
-P  - preserve permissions of encrypted file in unencrypted file.
-h  - shows help.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;env-variables&quot;&gt;ENV VARIABLES&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_GPG_COMMAND&lt;/code&gt; changes the default &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt; command to anything else&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_GPG_ARMOR&lt;/code&gt; is a boolean to enable &lt;a href=&quot;https://www.gnupg.org/gph/en/manual/r1290.html&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--armor&lt;/code&gt; mode&lt;/a&gt; to store secrets in text format over binary&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_DIR&lt;/code&gt; changes the default &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret/&lt;/code&gt; folder to another name as documented at &lt;a href=&quot;https://git-secret.io/&quot;&gt;git-secret(7)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_EXTENSION&lt;/code&gt; changes the default &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.secret&lt;/code&gt; file extension&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_VERBOSE&lt;/code&gt; changes the output verbosity as documented at &lt;a href=&quot;https://git-secret.io/&quot;&gt;git-secret(7)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_PINENTRY&lt;/code&gt; changes the &lt;a href=&quot;https://github.com/gpg/pinentry&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg --pinentry&lt;/code&gt; mode&lt;/a&gt; as documented at &lt;a href=&quot;https://git-secret.io/&quot;&gt;git-secret(7)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;manual&quot;&gt;MANUAL&lt;/h2&gt;

&lt;p&gt;Run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;man git-secret-reveal&lt;/code&gt; to see this document.&lt;/p&gt;

&lt;h2 id=&quot;see-also&quot;&gt;SEE ALSO&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://git-secret.io/git-secret-init&quot;&gt;git-secret-init(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-cat&quot;&gt;git-secret-cat(1)&lt;/a&gt;,
&lt;a href=&quot;https://git-secret.io/git-secret-tell&quot;&gt;git-secret-tell(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-add&quot;&gt;git-secret-add(1)&lt;/a&gt;,
&lt;a href=&quot;https://git-secret.io/git-secret-hide&quot;&gt;git-secret-hide(1)&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 27 Oct 2022 17:51:47 +0000</pubDate>
        <link>git-secret.io/git-secret-reveal</link>
        <guid isPermaLink="true">git-secret.io/git-secret-reveal</guid>
        
        
        <category>command</category>
        
      </item>
    
      <item>
        <title>git-secret-removeperson</title>
        <description>&lt;h1 id=&quot;git-secret-removeperson---removes-users-public-key-from-repo-keyring&quot;&gt;git-secret-removeperson - removes user’s public key from repo keyring.&lt;/h1&gt;

&lt;h2 id=&quot;synopsis&quot;&gt;SYNOPSIS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git secret removeperson &amp;lt;emails&amp;gt;...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;description&quot;&gt;DESCRIPTION&lt;/h2&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-removeperson&lt;/code&gt; - removes public keys for passed email addresses from repo’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; keyring.&lt;/p&gt;

&lt;p&gt;This command is used to begin the process of disallowing a user from encrypting and decrypting secrets with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;If you remove a user’s access with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-removeperson&lt;/code&gt;, and then run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-reveal&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-hide -r&lt;/code&gt;,
that user will no longer be able user to decrypt the hidden files.&lt;/p&gt;

&lt;h2 id=&quot;options&quot;&gt;OPTIONS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;-h  - shows this help.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;manual&quot;&gt;MANUAL&lt;/h2&gt;

&lt;p&gt;Run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;man git-secret-removeperson&lt;/code&gt; to see this document.&lt;/p&gt;

&lt;h2 id=&quot;see-also&quot;&gt;SEE ALSO&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://git-secret.io/git-secret-tell&quot;&gt;git-secret-tell(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-remove&quot;&gt;git-secret-remove(1)&lt;/a&gt;,
&lt;a href=&quot;https://git-secret.io/git-secret-clean&quot;&gt;git-secret-clean(1)&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 27 Oct 2022 17:51:47 +0000</pubDate>
        <link>git-secret.io/git-secret-removeperson</link>
        <guid isPermaLink="true">git-secret.io/git-secret-removeperson</guid>
        
        
        <category>command</category>
        
      </item>
    
      <item>
        <title>git-secret-remove</title>
        <description>&lt;h1 id=&quot;git-secret-remove---removes-files-from-index&quot;&gt;git-secret-remove - removes files from index.&lt;/h1&gt;

&lt;h2 id=&quot;synopsis&quot;&gt;SYNOPSIS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git secret remove [-c] &amp;lt;pathspec&amp;gt;...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;description&quot;&gt;DESCRIPTION&lt;/h2&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-remove&lt;/code&gt; - stops files from being tracked by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This deletes filenames from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret/paths/mapping.cfg&lt;/code&gt;, 
which stops these files from being tracked by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt;, and from
being encrypted to, or decrypted from, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.secret&lt;/code&gt; encrypted versions.&lt;/p&gt;

&lt;p&gt;There’s also a -c option to delete existing encrypted versions of the files provided.&lt;/p&gt;

&lt;p&gt;Note unlike &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;add&lt;/code&gt;, which automatically add pathnames to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitignore&lt;/code&gt;, 
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;remove&lt;/code&gt; does not delete pathnames from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitignore&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;(See &lt;a href=&quot;https://git-secret.io/git-secret&quot;&gt;git-secret(7)&lt;/a&gt; for information about renaming the .gitsecret
folder using the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_DIR&lt;/code&gt; environment variable.&lt;/p&gt;

&lt;h2 id=&quot;options&quot;&gt;OPTIONS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;-c  - deletes existing real encrypted files.
-h  - shows help.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;manual&quot;&gt;MANUAL&lt;/h2&gt;

&lt;p&gt;Run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;man git-secret-remove&lt;/code&gt; to see this document.&lt;/p&gt;

&lt;h2 id=&quot;see-also&quot;&gt;SEE ALSO&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://git-secret.io/git-secret-add&quot;&gt;git-secret-add(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-clean&quot;&gt;git-secret-clean(1)&lt;/a&gt;,
&lt;a href=&quot;https://git-secret.io/git-secret-removeperson&quot;&gt;git-secret-removeperson(1)&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 27 Oct 2022 17:51:47 +0000</pubDate>
        <link>git-secret.io/git-secret-remove</link>
        <guid isPermaLink="true">git-secret.io/git-secret-remove</guid>
        
        
        <category>command</category>
        
      </item>
    
      <item>
        <title>git-secret-list</title>
        <description>&lt;h1 id=&quot;git-secret-list---prints-all-the-added-files&quot;&gt;git-secret-list - prints all the added files.&lt;/h1&gt;

&lt;h2 id=&quot;synopsis&quot;&gt;SYNOPSIS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git secret list
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;description&quot;&gt;DESCRIPTION&lt;/h2&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-list&lt;/code&gt; - print the files currently considered secret in this repo.&lt;/p&gt;

&lt;p&gt;Shows tracked files from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret/paths/mapping.cfg&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;(See &lt;a href=&quot;https://git-secret.io/git-secret&quot;&gt;git-secret(7)&lt;/a&gt; for information about renaming the .gitsecret
folder using the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_DIR&lt;/code&gt; environment variable.&lt;/p&gt;

&lt;h2 id=&quot;options&quot;&gt;OPTIONS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;-h  - shows this help.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;manual&quot;&gt;MANUAL&lt;/h2&gt;

&lt;p&gt;Run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;man git-secret-list&lt;/code&gt; to see this document.&lt;/p&gt;

&lt;h2 id=&quot;see-also&quot;&gt;SEE ALSO&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://git-secret.io/git-secret-whoknows&quot;&gt;git-secret-whoknows(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-add&quot;&gt;git-secret-add(1)&lt;/a&gt;,
&lt;a href=&quot;https://git-secret.io/git-secret-remove&quot;&gt;git-secret-remove(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-hide&quot;&gt;git-secret-hide(1)&lt;/a&gt;,
&lt;a href=&quot;https://git-secret.io/git-secret-reveal&quot;&gt;git-secret-reveal(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-cat&quot;&gt;git-secret-cat(1)&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 27 Oct 2022 17:51:47 +0000</pubDate>
        <link>git-secret.io/git-secret-list</link>
        <guid isPermaLink="true">git-secret.io/git-secret-list</guid>
        
        
        <category>command</category>
        
      </item>
    
      <item>
        <title>git-secret-init</title>
        <description>&lt;h1 id=&quot;git-secret-init---initializes-git-secret-repository&quot;&gt;git-secret-init - initializes git-secret repository.&lt;/h1&gt;

&lt;h2 id=&quot;synopsis&quot;&gt;SYNOPSIS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git secret init
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;description&quot;&gt;DESCRIPTION&lt;/h2&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-init&lt;/code&gt; - initializes a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; repo by setting up a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret&lt;/code&gt; directory.&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-init&lt;/code&gt; should be run inside a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git&lt;/code&gt; repo, to create the 
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret&lt;/code&gt; directory and initialize the repo for git-secret.
Until a repository is initialized with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret init&lt;/code&gt;, all other &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; commands are unavailable.&lt;/p&gt;

&lt;p&gt;If a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret&lt;/code&gt; directory already exists, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-init&lt;/code&gt; exits without making any changes.
Otherwise,&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitignore&lt;/code&gt; is modified to ignore &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt;’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;random_seed_file&lt;/code&gt;,
and to not ignore &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.secret&lt;/code&gt; files,&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;a .gitsecret directory is created with the sub-directories /keys and /paths,&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret/keys&lt;/code&gt; subdirectory permission is set to 700 to make gnupg happy.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;See &lt;a href=&quot;https://git-secret.io/git-secret&quot;&gt;git-secret(7)&lt;/a&gt; for information about renaming the .gitsecret
folder with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_DIR&lt;/code&gt; environment variable, and changing the extension &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; uses for secret files
with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_EXTENSION&lt;/code&gt; environment variable.&lt;/p&gt;

&lt;h2 id=&quot;options&quot;&gt;OPTIONS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;-h  - shows this help.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;manual&quot;&gt;MANUAL&lt;/h2&gt;

&lt;p&gt;Run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;man git-secret-init&lt;/code&gt; to see this document.&lt;/p&gt;

&lt;h2 id=&quot;see-also&quot;&gt;SEE ALSO&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://git-secret.io/git-secret-usage&quot;&gt;git-secret-usage(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-tell&quot;&gt;git-secret-tell(1)&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 27 Oct 2022 17:51:47 +0000</pubDate>
        <link>git-secret.io/git-secret-init</link>
        <guid isPermaLink="true">git-secret.io/git-secret-init</guid>
        
        
        <category>command</category>
        
      </item>
    
      <item>
        <title>git-secret-hide</title>
        <description>&lt;h1 id=&quot;git-secret-hide---encrypts-all-added-files-with-repo-keyring&quot;&gt;git-secret-hide - encrypts all added files with repo keyring.&lt;/h1&gt;

&lt;h2 id=&quot;synopsis&quot;&gt;SYNOPSIS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git secret hide [-c] [-F] [-P] [-v] [-d] [-m]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;description&quot;&gt;DESCRIPTION&lt;/h2&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-hide&lt;/code&gt;  - writes an encrypted version of each file added by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret-add&lt;/code&gt; command.&lt;/p&gt;

&lt;p&gt;Then anyone enabled via &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret tell&lt;/code&gt; can decrypt these files.&lt;/p&gt;

&lt;p&gt;Under the hood, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; uses the keyring of public keys in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret/keys&lt;/code&gt; to &lt;em&gt;encrypt&lt;/em&gt; files,
encrypted versions are typically called &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;filename.txt.secret&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Later permitted users can use their secret key (typically from their home directory) to &lt;em&gt;decrypt&lt;/em&gt; files.&lt;/p&gt;

&lt;p&gt;It is recommended to encrypt (or re-encrypt) all the files in a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git-secret&lt;/code&gt; repo each
time &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret hide&lt;/code&gt; is run.&lt;br /&gt;
Otherwise the keyring (the one stored in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret/keys/*.gpg&lt;/code&gt;),
may have changed since the last time the files were encrypted, and it’s possible
to create a state where the users in the output of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret whoknows&lt;/code&gt;
may not be able to decrypt the some files in the repo, or may be able decrypt files
they’re not supposed to be able to.&lt;/p&gt;

&lt;p&gt;In other words, unless you re-encrypt all the files in a repo each time you &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;hide&lt;/code&gt; any,
it’s possible to make it so some files can no longer be decrypted by users who should be
(and would appear) able to decrypt them, and vice-versa.&lt;/p&gt;

&lt;p&gt;If you know what you are doing and wish
to encrypt or re-encrypt only a subset of the files
even after reading the above paragraphs, you can use the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-F&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-m&lt;/code&gt; options.
The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-F&lt;/code&gt; option forces &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git secret hide&lt;/code&gt; to skip any hidden files
where the unencrypted versions aren’t present.
The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-m&lt;/code&gt; option skips any hidden files that have
not be been modified since the last time they were encrypted.&lt;/p&gt;

&lt;h2 id=&quot;options&quot;&gt;OPTIONS&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;-v  - verbose, shows extra information.
-c  - deletes encrypted files before creating new ones.
-F  - forces hide to continue if a file to encrypt is missing.
-P  - preserve permissions of unencrypted file in encrypted file.
-d  - deletes unencrypted files after encryption.
-m  - encrypt files only when modified.
-h  - shows help.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;env-variables&quot;&gt;ENV VARIABLES&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_GPG_COMMAND&lt;/code&gt; changes the default &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg&lt;/code&gt; command to anything else&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_GPG_ARMOR&lt;/code&gt; is a boolean to enable &lt;a href=&quot;https://www.gnupg.org/gph/en/manual/r1290.html&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--armor&lt;/code&gt; mode&lt;/a&gt; to store secrets in text format over binary&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_DIR&lt;/code&gt; changes the default &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.gitsecret/&lt;/code&gt; folder to another name as documented at &lt;a href=&quot;https://git-secret.io/&quot;&gt;git-secret(7)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_EXTENSION&lt;/code&gt; changes the default &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.secret&lt;/code&gt; file extension&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_VERBOSE&lt;/code&gt; changes the output verbosity as documented at &lt;a href=&quot;https://git-secret.io/&quot;&gt;git-secret(7)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SECRETS_PINENTRY&lt;/code&gt; changes the &lt;a href=&quot;https://github.com/gpg/pinentry&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gpg --pinentry&lt;/code&gt; mode&lt;/a&gt; as documented at &lt;a href=&quot;https://git-secret.io/&quot;&gt;git-secret(7)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;manual&quot;&gt;MANUAL&lt;/h2&gt;

&lt;p&gt;Run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;man git-secret-hide&lt;/code&gt; to see this document.&lt;/p&gt;

&lt;h2 id=&quot;see-also&quot;&gt;SEE ALSO&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://git-secret.io/git-secret-init&quot;&gt;git-secret-init(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-tell&quot;&gt;git-secret-tell(1)&lt;/a&gt;,
&lt;a href=&quot;https://git-secret.io/git-secret-add&quot;&gt;git-secret-add(1)&lt;/a&gt;, &lt;a href=&quot;https://git-secret.io/git-secret-reveal&quot;&gt;git-secret-reveal(1)&lt;/a&gt;,
&lt;a href=&quot;https://git-secret.io/git-secret-cat&quot;&gt;git-secret-cat(1)&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 27 Oct 2022 17:51:47 +0000</pubDate>
        <link>git-secret.io/git-secret-hide</link>
        <guid isPermaLink="true">git-secret.io/git-secret-hide</guid>
        
        
        <category>command</category>
        
      </item>
    
  </channel>
</rss>