使用 GitSharp 推送更改

发布于 2024-10-01 10:13:13 字数 129 浏览 2 评论 0 原文

如何使用 GitSharp(Git for .NET 和 Mono)将更改推送到通过 SSH 远程服务器?

How can GitSharp (Git for .NET and Mono) be used to PUSH changes changes to a remote server over SSH?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

秋凉 2024-10-08 10:13:13

理论上是的,最新的 GitSharp 0.3 版本(2010 年 6 月)包括:

传输代码中的错误修复(推送/通过 http 或 ssh 获取)

GitSharp README.txt 确实有:

对象传输

  • 通过 ssh、git、http 和捆绑包获取。
  • 通过 ssh、git 推送。 Git# 尚未 deltify
    推送的包,因此它们可能比 C Git 包大很多。

您可以在 此线程

Repository repository = new Repository(@"\path\to\my_repos");
repository.Index.Add(@"\path\to\my_file");

Commit commited = repository.Commit("Testing fromGitC#", new Author("Author", "[email protected]"));

if(commited.IsValid) {
    PushCommand pushCommand = new PushCommand {
        RefSpecs = new List<RefSpec> {
           new RefSpec("HEAD", "refs/for/master")
        },
        Force = true,
        Repository = repository
    };
    pushCommand.AddAll();
    pushCommand.Execute();
} 

In theory, yes, the latest GitSharp 0.3 release (June 2010) includes:

bug fixes in the transport code (pushing / fetching via http or ssh)

The GitSharp README.txt does have:

Object transport

  • Fetch via ssh, git, http and bundles.
  • Push via ssh, git. Git# does not yet deltify
    the pushed packs so they may be a lot larger than C Git packs.

You will find an example of such a push (over ssh) in this thread:

Repository repository = new Repository(@"\path\to\my_repos");
repository.Index.Add(@"\path\to\my_file");

Commit commited = repository.Commit("Testing fromGitC#", new Author("Author", "[email protected]"));

if(commited.IsValid) {
    PushCommand pushCommand = new PushCommand {
        RefSpecs = new List<RefSpec> {
           new RefSpec("HEAD", "refs/for/master")
        },
        Force = true,
        Repository = repository
    };
    pushCommand.AddAll();
    pushCommand.Execute();
} 
吻安 2024-10-08 10:13:13

GitSharp 基于 JGit 从 Java 到 C# 的手动移植。还有另一个项目半自动执行此操作(目的是添加到 MonoDevelop)

http: //foodformonkeys.blogspot.com/2010/10/ngit.html

https://github.com/ slluis/ngit

关于 NGIT

NGit 是 JGit [1] 到 C# 的端口。这
端口是半自动生成的
使用 Sharpen [2],一个 Java 到 C# 的工具
转换实用程序。

NGit 提供所有功能
由 JGit 实现,包括所有
存储库操作原语和
传输协议。 SSH 支持是
由 jsch 的端口提供[3],
包含在项目中。

该项目由4个组成
图书馆:
- NGit:git 库。
- NGit.Test:NGit 的单元测试
- NSch:jsch 的端口。
- Sharpen:上述库所需的一些支持类。

GitSharp is based upon a manual port of JGit from Java to C#. There is another project does this semi-automatically (with the purpose of being added to MonoDevelop)

http://foodformonkeys.blogspot.com/2010/10/ngit.html

https://github.com/slluis/ngit

ABOUT NGIT

NGit is a port of JGit [1] to C#. This
port is generated semi-automatically
using Sharpen [2], a Java-to-C#
conversion utility.

NGit provides all functionality
implemented by JGit, including all
repository manipulation primitives and
transport protocols. SSH support is
provided by a port of jsch [3],
included in the project.

The project is composed by 4
libraries:
- NGit: The git library.
- NGit.Test: Unit tests for NGit
- NSch: The port of jsch.
- Sharpen: Some support classes required by the above libraries.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文