Ad
NodeGit: Move Branch Pointer To Different Commit Without Checkout
In git we can use following command to achieve it:
git branch -f branch-name new-tip-commit
How do we achieve the same in nodegit?
Ad
Answer
You can try and re-create the branch, forcing the creation even if it exists already.
See Repository.prototype.createBranch (lib/repository.js#L28-L39
), which includes:
@param {bool} force Overwrite branch if it exists
You can see an example in examples/create-branch.js#L4-L16
:
var nodegit = require("../");
var path = require("path");
nodegit.Repository.open(path.resolve(__dirname, "../.git"))
.then(function(repo) {
// Create a new branch on head
return repo.getHeadCommit()
.then(function(commit) {
return repo.createBranch(
"new-branch",
commit,
0,
repo.defaultSignature(),
"Created new-branch on HEAD");
});
}).done(function() {
console.log("All done!");
});
If you replace the 0
by a 1
in that example, that would force the creation of that branch even if it already existed, effectively resetting its HEAD to the new commit.
Ad
source: stackoverflow.com
Related Questions
- → How to update data attribute on Ajax complete
- → October CMS - Radio Button Ajax Click Twice in a Row Causes Content to disappear
- → Octobercms Component Unique id (Twig & Javascript)
- → Passing a JS var from AJAX response to Twig
- → Laravel {!! Form::open() !!} doesn't work within AngularJS
- → DropzoneJS & Laravel - Output form validation errors
- → Import statement and Babel
- → Uncaught TypeError: Cannot read property '__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED' of undefined
- → React-router: Passing props to children
- → ListView.DataSource looping data for React Native
- → Can't test submit handler in React component
- → React + Flux - How to avoid global variable
- → Webpack, React & Babel, not rendering DOM
Ad