Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails控制器中的git命令_Ruby On Rails_Git_Github_Git Post Receive - Fatal编程技术网

Ruby on rails rails控制器中的git命令

Ruby on rails rails控制器中的git命令,ruby-on-rails,git,github,git-post-receive,Ruby On Rails,Git,Github,Git Post Receive,我正在尝试设置一个系统,当我将更改提交到GitHub存储库时,我的服务器也会接收这些提交 为此,我将GitHub repo设置为向rails应用程序上的URL发送一个post-receive钩子。我有一个控制器来处理这个问题 问题是:如何在rails控制器中运行git命令?我知道如何在命令行中完成它 我是否只需键入以下内容: # controller method where post-receive hook is sent def commit git pull origin develo

我正在尝试设置一个系统,当我将更改提交到GitHub存储库时,我的服务器也会接收这些提交

为此,我将GitHub repo设置为向rails应用程序上的URL发送一个post-receive钩子。我有一个控制器来处理这个问题

问题是:如何在rails控制器中运行git命令?我知道如何在命令行中完成它

我是否只需键入以下内容:

# controller method where post-receive hook is sent
def commit
 git pull origin development
end

在Git上尝试Ruby抽象,比如or。这两个库都保持活动状态,而其他类似的库似乎已被搁置一旁。

在Git-like或之上尝试Ruby抽象。这两个库都保持活动状态,而其他类似的库似乎已被搁置一旁。

在Git-like或之上尝试Ruby抽象。这两个库都保持活动状态,而其他类似的库似乎已被搁置一旁。

在Git-like或之上尝试Ruby抽象。这两个库都保持活动状态,而其他类似的库似乎已被搁置一旁。

这样做吧

def commit
 system "git pull origin development"
end
做这个

def commit
 system "git pull origin development"
end
做这个

def commit
 system "git pull origin development"
end
做这个

def commit
 system "git pull origin development"
end

在您声明的目标和您计划使用的命令之间有很大的差异。为了获得提交,只需运行
git fetch
。您可以使用
system
或backticks从ruby代码中运行shell命令,但您需要注意运行的内容。您应该记住,拉取是一种合并,这意味着在任何时候更改都可能发生冲突,它会让您的存储库等待人为干预(更不用说到处都有冲突标记的文件),因为它是高级用户界面的一部分,根本不需要编写脚本

如果您确实希望使用提示中的文件版本来执行部署或类似操作,您可以根据具体情况检查一些不同的方法


您可以结合使用剥离到
git fetch
git checkout
或在您的代码中执行此更新,并注意这是所有IO绑定的(部分通过网络),这意味着它可能需要任意时间运行,如果阻止ruby的执行,那么它可能无法与应用程序的其余部分配合使用。

您所声明的目标与您计划使用的命令之间存在很大的差异。为了获得提交,只需运行
git fetch
。您可以使用
system
或backticks从ruby代码中运行shell命令,但您需要注意运行的内容。您应该记住,拉取是一种合并,这意味着在任何时候更改都可能发生冲突,它会让您的存储库等待人为干预(更不用说到处都有冲突标记的文件),因为它是高级用户界面的一部分,根本不需要编写脚本

如果您确实希望使用提示中的文件版本来执行部署或类似操作,您可以根据具体情况检查一些不同的方法


您可以结合使用剥离到
git fetch
git checkout
或在您的代码中执行此更新,并注意这是所有IO绑定的(部分通过网络),这意味着它可能需要任意时间运行,如果阻止ruby的执行,那么它可能无法与应用程序的其余部分配合使用。

您所声明的目标与您计划使用的命令之间存在很大的差异。为了获得提交,只需运行
git fetch
。您可以使用
system
或backticks从ruby代码中运行shell命令,但您需要注意运行的内容。您应该记住,拉取是一种合并,这意味着在任何时候更改都可能发生冲突,它会让您的存储库等待人为干预(更不用说到处都有冲突标记的文件),因为它是高级用户界面的一部分,根本不需要编写脚本

如果您确实希望使用提示中的文件版本来执行部署或类似操作,您可以根据具体情况检查一些不同的方法


您可以结合使用剥离到
git fetch
git checkout
或在您的代码中执行此更新,并注意这是所有IO绑定的(部分通过网络),这意味着它可能需要任意时间运行,如果阻止ruby的执行,那么它可能无法与应用程序的其余部分配合使用。

您所声明的目标与您计划使用的命令之间存在很大的差异。为了获得提交,只需运行
git fetch
。您可以使用
system
或backticks从ruby代码中运行shell命令,但您需要注意运行的内容。您应该记住,拉取是一种合并,这意味着在任何时候更改都可能发生冲突,它会让您的存储库等待人为干预(更不用说到处都有冲突标记的文件),因为它是高级用户界面的一部分,根本不需要编写脚本

如果您确实希望使用提示中的文件版本来执行部署或类似操作,您可以根据具体情况检查一些不同的方法


您可以结合使用剥离到
git fetch
git checkout
或在您的代码中执行此更新,并注意这是所有IO绑定的(部分通过网络),这意味着它可能需要任意时间运行,如果它阻止ruby的执行,那么它可能无法与应用程序的其余部分配合使用。

也是一个不错的选择。我更喜欢错误处理之类的抽象,但这肯定是最快、最简单的方法,也是一个不错的选择。I公共关系