Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/felixge/cl
Quickly clone git repositories into a nested folders like GOPATH.
https://github.com/felixge/cl
Last synced: about 2 months ago
JSON representation
Quickly clone git repositories into a nested folders like GOPATH.
- Host: GitHub
- URL: https://github.com/felixge/cl
- Owner: felixge
- License: mit
- Created: 2021-06-19T07:39:10.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-06-19T12:03:49.000Z (over 3 years ago)
- Last Synced: 2024-10-11T15:18:54.337Z (2 months ago)
- Language: Go
- Homepage:
- Size: 11.7 KB
- Stars: 18
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# cl
`cl` clones git repositories into nested folders like [GOPATH](https://golang.org/doc/gopath_code#Workspaces) and outputs the path of the cloned directory. Example:
```
cl https://github.com/foo/bar
```Is roughly equivalent to:
```
git clone https://github.com/foo/bar ~/src/github.com/foo/bar
cd ~/src/github.com/foo/bar
```You can install `cl` as a [binary release](https://github.com/felixge/cl/releases) or using Go:
```
go install github.com/felixge/cl@latest
```In order for the example above to work, you'll need to configure a bash function in your profile that specifies your preferred installation `-dir` and changes into the cloned directory on success:
```
cl() {
cloned=$(command cl -dir "$GOPATH/src" "$1")
cd "$cloned"
}
```After that any of the following commands can be used to clone a repo and change into its directory:
```
cl https://github.com/foo/bar.git
cl https://github.com/foo/bar
cl [email protected]:foo/bar.git
```Without the bash function, you would have to use a slightly more verbose command:
```
cd $(cl -dir ~/src https://github.com/foo/bar)
```# License
cl is licensed under the MIT license.