1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
# gitcha
[](https://github.com/muesli/gitcha/releases)
[](https://github.com/muesli/gitcha/actions)
[](https://coveralls.io/github/muesli/gitcha?branch=master)
[](https://goreportcard.com/report/muesli/gitcha)
[](https://pkg.go.dev/github.com/muesli/gitcha)
Go helpers to work with git repositories
## Examples
```go
import "github.com/muesli/gitcha"
// returns the directory of the git repository path is a member of:
repo, err := gitcha.GitRepoForPath(path)
// finds files from list in path. It respects all .gitignores it finds while
// traversing paths:
ch, err := gitcha.FindFiles(path, []string{"*.md"})
for v := range ch {
fmt.Println(v.Path)
}
// finds files, excluding any matches in a given set of ignore patterns:
ch, err := gitcha.FindFilesExcept(path, []string{"*.md"}, []string{".*"})
...
// if you are only interested in the first match:
result, err := gitcha.FindFirstFile(path, []string{"*.md"})
...
// just for convenience:
ok := gitcha.IsPathInGit(path)
```
|