我的 github 存储库中有两个分支 -master和dev分支。我有一个要求,需要在以下条件下将master分支合并到dev分支:
master将分支合并回dev分支。这有可能做到吗?我相信我们可以使用 git Hooks 来完成这项工作,但我不知道该怎么做。有人可以提供一个如何实现这一目标的例子吗?
我在线阅读它,看起来我可以使用包含以下内容的钩子,但我很困惑,只有当有人向分支添加提交或任何 PR 合并到主分支post-receive时,如何执行此操作?master这也是正确的方法吗?
git checkout master
git pull
git checkout dev
git pull
git merge master --no-ff --no-edit
git push
Run Code Online (Sandbox Code Playgroud)
我明白,由于合并冲突,这可能并不总是可能的,但如果可能的话,我们希望它自动发生。
更新
阅读更多有关Github Actions- 我在 git 存储库的根文件夹中创建了一个这样的文件,.github/workflows/merge-back-to-dev.yml内容如下。这看起来合适吗?我需要所有这些字段吗runs-on?
name: 'Nightly Merge'
on:
push:
branches:
- master
jobs:
nightly-merge:
runs-on: ubuntu-latest
steps: …Run Code Online (Sandbox Code Playgroud) 我正在使用HttpClient通过传递标头进行 POST 调用,但在某些时候我收到如下错误:
Request headers must contain only ASCII characters.
Run Code Online (Sandbox Code Playgroud)
使用堆栈跟踪:
at System.Net.Http.HttpConnection.WriteStringAsync(String s)
at System.Net.Http.HttpConnection.WriteHeadersAsync(HttpHeaders headers, String cookiesFromContainer)
at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithNtConnectionAuthAsync(HttpConnection connection, HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.DiagnosticsHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
public HttpWrapper(string endpoint, Func<IDictionary<string, string>> NewHeader)
{
_httpClient = new HttpClient();
_httpClient.BaseAddress = new Uri(endpoint);
if (NewHeader != …Run Code Online (Sandbox Code Playgroud) 我StreamReader稍后将使用它来反序列化我的请求,如下所示 -
这s是Stream对象 -
using (var reader = new StreamReader(s))
{
using (var jsonReader = new JsonTextReader(reader))
{
var ser = new JsonSerializer();
return ser.Deserialize<T>(jsonReader);
}
}
Run Code Online (Sandbox Code Playgroud)
一切正常,但现在我试图在控制台上打印实际的请求正文,所以我尝试这样做,但它给了我一个错误 -
using (var reader = new StreamReader(s))
{
string body = reader.ReadToEnd();
// print body on the console which is what I am trying to do
// reset to start of stream
// this line gives me error
s.Seek(0, SeekOrigin.Begin);
using (var jsonReader = new JsonTextReader(reader)) …Run Code Online (Sandbox Code Playgroud) 我试图以这种方式并行读取多个文件,以便每个读取文件的 go 例程将其数据写入该通道,然后有一个 go 例程监听该通道并将数据添加到映射中。这是我的玩法。
下面是剧中的例子:
package main
import (
"fmt"
"sync"
)
func main() {
var myFiles = []string{"file1", "file2", "file3"}
var myMap = make(map[string][]byte)
dataChan := make(chan fileData, len(myFiles))
wg := sync.WaitGroup{}
defer close(dataChan)
// we create a wait group of N
wg.Add(len(myFiles))
for _, file := range myFiles {
// we create N go-routines, one per file, each one will return a struct containing their filename and bytes from
// the file via the dataChan …Run Code Online (Sandbox Code Playgroud) 我有一个Asp.net Core 3.1使用Kestrel服务器的遗留应用程序,我们所有的GET和POST调用都可以正常工作。我们的遗留应用程序上已经有一堆中间件,我们根据端点的不同将每个中间件用于不同的目的。
这就是我们的旧应用程序的设置方式,如下所示。我试图通过只保留重要的事情来使事情变得简单。
下面是我们的BaseMiddleware类,它由我们拥有的一堆其他中间件扩展。大约我们有 10 多个中间件扩展BaseMiddleware类 -
基础中间件.cs
public abstract class BaseMiddleware {
protected static ICatalogService catalogService;
protected static ICustomerService customerService;
private static IDictionary <string, Object> requiredServices;
private readonly RequestDelegate _next;
public abstract bool IsCorrectEndpoint(HttpContext context);
public abstract string GetEndpoint(HttpContext context);
public abstract Task HandleRequest(HttpContext context);
public BaseMiddleware(RequestDelegate next) {
var builder = new StringBuilder("");
var isMissingService = false;
foreach(var service in requiredServices) {
if (service.Value == …Run Code Online (Sandbox Code Playgroud) c# ×3
asp.net-core ×1
channel ×1
git ×1
githooks ×1
github ×1
gitlab ×1
go ×1
goroutine ×1
streamreader ×1