git-hound

Git plugin that prevents sensitive data from being committed.

Github星跟蹤圖

Git Hound

Travis
Code Climate
GoDoc

Hound is a Git plugin that helps prevent sensitive data from being committed into a repository by sniffing potential commits against PCRE regular expressions.

How does it work?

Upon commit, it runs the output of git diff -U0 --staged through the Hound, which matches every added or modified line against your provided list of regular expressions from a local .githound.yml file.

Installation

To install Hound, please use go get. If you don't have Go installed, get it here. If you would like to grab a precompiled binary, head over to the releases page. The precompiled Hound binaries have no external dependencies.

go get github.com/ezekg/git-hound

Compiling

To compile for your operating system, simply run the following from the root of the project directory:

go install

To compile for all platforms using gox, run the following:

gox

Usage

git-hound [<opts>] commit [...]
git-hound [<opts>] sniff [<commit>]

Commit

Sniff changes before committing.

# Sniff changes since last commit and pass to git-commit when clean
git hound commit …

Sniff

You can optionally pass a commit hash or manually pipe a diff for the Hound to sniff.

# Sniff changes since last commit
git hound sniff HEAD

# Sniff entire codebase
git hound sniff

# Sniff entire repo history
git log -p, git hound sniff

Option flags, Flag, Type, Default, Usage, :---------------, :-------, :----------------, :-------------------------------------------, -no-color, bool, false, Disable color output, -config=file, string, .githound.yml, Hound config file, -bin=file, string, git, Executable binary to use for git command, ## Example .githound.yml

# Output warning on match but continue
warn:
  - '(?i)user(name)?\W*[:=,]\W*.+$'
  - '\/Users\/\w+\/'
# Fail immediately upon match
fail:
  - '[''"](?!.*[\s])(?=.*[A-Za-z])(?=.*[0-9])(?=.*[!@#$&*])?.{16,}[''"]'
  - '(?i)db_(user(name)?, pass(word)?, name)\W*[:=,]\W*.+$'
  - '(?i)pass(word)?\W*[:=,]\W*.+$'
# Skip on matched filename
skip:
  - '\.example$'
  - '\.sample$'

主要指標

概覽
名稱與所有者ezekg/git-hound
主編程語言Go
編程語言Go (語言數: 1)
平台
許可證MIT License
所有者活动
創建於2015-11-05 16:30:20
推送於2020-10-08 22:34:28
最后一次提交2020-10-08 17:34:28
發布數19
最新版本名稱1.0.0 (發布於 )
第一版名稱0.1.0 (發布於 )
用户参与
星數312
關注者數9
派生數26
提交數77
已啟用問題?
問題數11
打開的問題數2
拉請求數0
打開的拉請求數0
關閉的拉請求數1
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?