https://github.com/zetlen/quick-git-hits
Simple node utility to do Git things in a directory.
https://github.com/zetlen/quick-git-hits
Last synced: over 1 year ago
JSON representation
Simple node utility to do Git things in a directory.
- Host: GitHub
- URL: https://github.com/zetlen/quick-git-hits
- Owner: zetlen
- Created: 2015-03-20T19:22:42.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2015-03-25T01:34:05.000Z (about 11 years ago)
- Last Synced: 2025-02-14T19:19:25.105Z (over 1 year ago)
- Language: JavaScript
- Size: 121 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# quick-git-hits
Very small utilites for some common Git activities that you might want to automate during a Node workflow. Utterly without rhyme or reason in terms of what is included. Work in progress. Don't use. Don't even continue reading. What are you doing here? You definitely want [nodegit](https://github.com/nodegit/nodegit) and not this. It's big and featureful and who doesn't want that.
## Requires
- Node 0.10 (works in io.js i'm sure)
- Git 1.5 or later if you want more metadata than "git is not installed"
## Usage
```js
var quickGitHits = require('quick-git-hits');
```
This object has some static methods on it.
### `quickGitHits.detectDirectory(dir, cb)`
Get some metadata about the passed directory, including:
- Whether Git is installed on the system (in the PATH that is)
- Whether the current directory is inside a Git repository
- The canonical remote URL for that repository
```js
var detectGit = require('detect-git');
quickGitHits.detectDirectory( process.cwd(), function(err, metadata) {
if (err) throw err;
if (metadata.gitInstalled) {
console.log('Git is installed! Good job.')
}
if (metadata.inGitRepo) {
console.log('The current directory is inside a Git working tree. Go crazy!')
}
if (metadata.repositoryUrl) {
console.log('The canonical remote for this repository is ' + metadata.repositoryUrl);
}
});
```
#### Arguments
- `dir` *(string)* A directory, often just `process.cwd()`.
- `cb` *(function)* A callback. The callback will be called Node-style, with any errors as the first argument, and with a plain object with up to three properties as the second:
- `gitInstalled` true if Git was found in the path
- `inGitRepo` true if the current directory is in a Git repo (does not determine whether the current dir is in the index, though)
- `repositoryUrl` Commonly a repo has one and only one remote. This will be the URL. Under other circumstances it'll just be the URL of the first remote to be added.
### `quickGitHits.createRepoInDirectory(dir, opts, cb)`
Create a repository in the passed directory. If `opts.repositoryUrl` is specified, add the specified URL as the remote `origin`.
```js
var detectGit = require('detect-git');
quickGitHits.createRepoInDirectory( process.cwd(), { repositoryUrl: 'zetlen/quick-git-hits' }, function(err) {
if (err) throw err;
console.log('Repo created. Enjoy!');
});
```
#### Arguments
- `dir` *(string)* A directory, often just `process.cwd()`.
- `options` *(object)* An object of options. The following properties work:
- `repositoryUrl` *(string)* The URL to a remote repository that the new local repo should set as a remote.
- `cb` *(function)* A callback. The callback will be called Node-style, with any errors as the first argument. If the first argument is null, you win.
## License
ISC, which you'll have to look up. Beats the heck out of me.