要将 Git 仓库的上传(推送)方式从 HTTP/HTTPS 改为 SSH,核心是修改远程仓库的 URL 配置。具体步骤如下:
步骤 1:查看当前远程仓库地址
首先确认当前仓库使用的远程地址是否为 HTTP 格式,执行命令:
bash
运行
git remote -v
输出类似如下(如果是 HTTP 格式):
plaintext
origin https://github.com/用户名/仓库名.git (fetch)
origin https://github.com/用户名/仓库名.git (push)
(origin是远程仓库的默认名称,若你的远程仓库名称不同,需替换为实际名称)
步骤 2:获取仓库的 SSH 地址
登录你的代码托管平台(如 GitHub、GitLab、Gitee 等),进入仓库页面,找到 SSH 格式的远程地址。以 GitHub 为例,在仓库页面点击「Code」按钮,切换到「SSH」标签,复制类似如下的地址:
plaintext
git@github.com:用户名/仓库名.git
步骤 3:修改远程仓库地址为 SSH 格式
使用 git remote set-url 命令修改远程地址,格式:
bash
运行
git remote set-url 远程仓库名称 SSH地址
例如(默认远程名称为origin):
bash
运行
git remote set-url origin git@github.com:用户名/仓库名.git
步骤 4:验证修改是否成功
再次执行 git remote -v 确认地址已变为 SSH 格式:
plaintext
origin git@github.com:用户名/仓库名.git (fetch)
origin git@github.com:用户名/仓库名.git (push)
显示 SSH 地址即表示修改成功,后续git push会默认使用 SSH 方式。
注意:确保 SSH 密钥已配置
若首次使用 SSH 方式,可能需要先配置 SSH 密钥(否则推送会失败),步骤如下:
-
检查本地是否已有 SSH 密钥:
bash
运行
ls -la ~/.ssh若存在
id_rsa(私钥)和id_rsa.pub(公钥),则跳过生成步骤。 -
生成 SSH 密钥(若不存在):
bash
运行
ssh-keygen -t rsa -C "你的邮箱地址"一路回车使用默认配置即可。
-
复制公钥内容:
bash
运行
# Linux/Mac cat ~/.ssh/id_rsa.pub # Windows(使用Git Bash) cat /c/Users/你的用户名/.ssh/id_rsa.pub -
在代码托管平台添加公钥:进入平台的「设置」→「SSH 密钥」→「添加新密钥」,粘贴复制的公钥内容并保存。
完成以上步骤后,即可通过 SSH 方式正常推送代码(git push)。
.net web 应用的<requestLimits maxAllowedContentLength="[desired size]">应该加在web.config文件的哪个节点下?
已完成思考
在.NET Web 应用(尤其是基于 IIS 托管的应用,如ASP.NET Web Forms、ASP.NET MVC 等)中,<requestLimits maxAllowedContentLength="[desired size]"> 用于配置 IIS 层面允许的请求内容最大长度(单位:字节),必须添加在 web.config 的 <system.webServer> 节点下的 <security> -> <requestFiltering> 子节点中。
具体位置和示例:
完整的配置层级为:configuration → system.webServer → security → requestFiltering → requestLimits
示例代码(设置最大请求长度为 100MB,即 104857600 字节):
xml
<configuration>
<!-- 其他配置节点 -->
<system.webServer>
<!-- IIS 相关配置 -->
<security>
<requestFiltering>
<!-- 配置请求限制 -->
<requestLimits maxAllowedContentLength="104857600" /> <!-- 100MB = 100 * 1024 * 1024 字节 -->
</requestFiltering>
</security>
<!-- 其他 IIS 配置(如 modules、handlers 等) -->
</system.webServer>
<!-- 其他配置节点 -->
</configuration>
注意事项:
-
与
maxRequestLength的区别:-
maxAllowedContentLength是 IIS 层面 的配置(单位:字节),控制 IIS 接收的请求体大小。 -
若应用是ASP.NET(非ASP.NET Core),还需配合
<system.web>节点下的<httpRuntime>配置maxRequestLength(单位:KB),避免ASP.NET框架层面的限制:xml
<system.web> <httpRuntime maxRequestLength="102400" /> <!-- 100MB = 100 * 1024 KB --> </system.web>两者需保持一致(或
maxAllowedContentLength略大于maxRequestLength对应的字节数)。
-
-
ASP.NET Core 注意 :对于ASP.NET Core 应用(通常托管在 Kestrel 而非 IIS),请求大小限制主要通过代码配置(如
services.Configure<FormOptions>),但如果部署在 IIS 上,仍需通过上述web.config配置兼容 IIS 的限制。
总之,requestLimits 必须放在 system.webServer/security/requestFiltering 节点下才能被 IIS 正确识别。