我们已经在GitHub上保护了我们的开发分支,以便下游没有人可以直接推送他们的提交.提交需要通过特定功能分支并通过拉取请求进行合并.
有一个场景,一个功能分支合并到开发分支(经过适当的审查和更改)后,我们需要稍后恢复(可能是由于需求的变化).如果我尝试恢复下游的合并提交,它将不允许我推送,因为分支受到保护.我记得GitHub在合并分支时提供了恢复按钮.但不知怎的,我现在无法看到(或找到)按钮.我们需要恢复优先级提交,因此我们暂时从开发分支中删除了保护并推送了恢复提交(最丑陋).
还有其他更好的替代方法可以从受保护的分支恢复提交吗?也许我错过了或误解了一些GitHub功能.
还有一个场景是,如果我在合并之后从GitHub中删除了分支,那我该怎么回复呢?
我在具有参数的控制器中具有C#Web Api端点。此参数接受加密的字符串,并且此字符串将包含“ /”,“&”,“ +”等字符。因此,每当我从javascript调用Api端点时,都会使用encodeURIComponent函数对其进行编码。由于我期望HttpUtility.UrlDecode在Web Api代码中使用编码字符串,以便在我的应用程序中对其进行解码和使用。
public HttpActionResult MyAction(string encodedString)
{
string decodedString = HttpUtility.UrlDecode(encodedString);
// Process request
}
Run Code Online (Sandbox Code Playgroud)
为了检查代码是否按预期工作,我通过发送编码字符串作为输入开始调试。令我惊讶的是,我发现输入参数已经自行解码并通过action方法传递了。这可以与我使用的解码器方法配合使用,但是在出现“ +”字符时开始中断。当我传递带有“ +”字符的字符串时,解码器方法将其更改为空格。
例如传递djdh67-y&+dsdj给解码器更改为djdh67-y& dsdj
我有两个惊喜。首先,为什么参数本身被解码,其次,为什么“ +”字符被解码为空白?在我了解发生了什么之前,我无法使用此代码,因为稍后可能会出现意外情况(也许自动解码停止),这将是不好的。
有人可以向我解释到底发生了什么或解决此问题的最佳方法是什么?
我创建了一个小的可执行文件(git-test)并将它放在C:\Program Files\Git\usr\bin路径下。
我还在Path环境变量中添加了上述路径。当我在 bash 上运行 git test 时,它给了我以下错误。
git: 'test' is not a git command. See 'git --help'
Run Code Online (Sandbox Code Playgroud)
我在这里或我需要粘贴文件的任何地方有什么遗漏吗?