Nodegit:如何修改文件并推送更改?

Nodegit:如何修改文件并推送更改?,第1张

Nodegit:如何修改文件并推送更改?

有一个示例,说明如何在其存储库上创建/添加和提交,可以帮助您修改文件。

https://github.com/nodegit/nodegit/blob/master/examples/add-and-
commit.js

关于提交和推送,这是我的代码的摘要,希望对您有所帮助。我花了相当长的时间才弄清楚这一点,感谢Gitter上的家伙,我终于找到了答案。

代码如下:

var path = require('path');var nodegit = require('nodegit'),    repoFolder = path.resolve(__dirname, 'repos/test/.git'),    fileToStage = 'README.md';var repo, index, oid, remote;nodegit.Repository.open(repoFolder)  .then(function(repoResult) {    repo = repoResult;    return repoResult.openIndex();  })  .then(function(indexResult) {    index  = indexResult;    // this file is in the root of the directory and doesn't need a full path    index.addByPath(fileToStage);    // this will write files to the index    index.write();    return index.writeTree();  })  .then(function(oidResult) {    oid = oidResult;    return nodegit.Reference.nameToId(repo, 'HEAD');  })  .then(function(head) {    return repo.getCommit(head);  })  .then(function(parent) {    author = nodegit.Signature.now('Author Name', 'author@email.com');    committer = nodegit.Signature.now('Commiter Name', 'commiter@email.com');    return repo.createCommit('HEAD', author, committer, 'Added the Readme file for theme builder', oid, [parent]);  })  .then(function(commitId) {    return console.log('New Commit: ', commitId);  })  /// PUSH  .then(function() {    return repo.getRemote('origin');  })  .then(function(remoteResult) {    console.log('remote Loaded');    remote = remoteResult;    remote.setCallbacks({      credentials: function(url, userName) {        return nodegit.Cred.sshKeyFromAgent(userName);      }    });    console.log('remote Configured');    return remote.connect(nodegit.Enums.DIRECTION.PUSH);  })  .then(function() {    console.log('remote Connected?', remote.connected())    return remote.push(      ['refs/heads/master:refs/heads/master'],      null,      repo.defaultSignature(),      'Push to master'    )  })  .then(function() {    console.log('remote Pushed!')  })  .catch(function(reason) {    console.log(reason);  })

希望这可以帮助。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4899943.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存