Git push via proxy + https

Git通过HTTPS推送
本文介绍如何配置Git以通过HTTPS协议推送代码,特别是针对设置了代理且禁用了某些端口的企业环境。包括生成SSH密钥、配置代理及用户信息、解决证书验证问题等步骤。

Git push 默认用git协议,通常情况下大家都可以忽略,透明使用。


然而很多公司需要设置代理,且禁用了一些端口,常见的错误类似于:

bright_zheng@BRIGHT-ZHENG /c/projects_learning/learning-jtwissandra (master)
$ git push -u origin master
ssh: connect to host github.com port 22: Bad file number
fatal: The remote end hung up unexpectedly

导致无法同步到服务端。


此时就需要考虑使用https来push。

以Github + Windows XP设置为例,一般步骤如下:

1. 进入Git Bash,生成ssh证书

$ ssh-keygen 


2. 把生成的key拷贝到当前用户的.ssh下,比如C:\Documents and Settings\bright_zheng\.ssh


3. 拷贝并保持pub的string到github里


4. 设置必要的参数,如http_proxy, user, email等:

$ git config --global http.proxy=yourproxyserver:theport

$ git config --global user.name "Bright Zheng"

$ git config --global user.email youremail@xxx


5. 设置好curl的证书

如果看到这样的错误:

$ git push https://itstarting@github.com/itstarting/jtwissandra.git
Password:
error: error setting certificate verify locations:
  CAfile: /bin/curl-ca-bundle.crt
  CApath: none
 while accessing https://itstarting@github.com/itstarting/jtwissandra.git/info/refs


fatal: HTTP request failed


那需要设置好curl的证书,让其能找到

git config --system http.sslcainfo C:/tools/Git/bin/curl-ca-bundle.crt


6. 在完成必要的commit后,push吧:

git push https://itstarting@github.com/itstarting/jtwissandra.git

提示你输入密码,键入ssh-keygen时你输入的密码即可同步到Github了。


要使用Git进行HTTPS推送(push),可以按照以下步骤操作: 1. 克隆仓库:使用`git clone`命令将远程仓库克隆到本地。例如,可以运行以下命令来克隆一个名为`git-push-each`的仓库: ``` git clone https://github.com/jbenet/git-push-each ``` 2. 进入仓库目录:使用`cd`命令进入克隆下来的仓库目录。例如: ``` cd git-push-each ``` 3. 将`git-push-each`可执行文件复制到Git的可执行文件路径中:可以使用以下命令将文件复制到Git的可执行文件路径中,以便能够在任何位置使用`git push-each`命令: ``` sudo cp git-push-each $(git --exec-path) ``` 4. 或者,使用提供的`install.sh`脚本进行安装:在仓库目录中,运行以下命令进行安装: ``` sudo ./install.sh ``` 5. 提交更改:在进行推送之前,需要先将更改提交到本地分支。可以使用以下命令进行提交: ``` git add . git commit -m 'commit message' ``` 6. 关联远程仓库:使用`git remote add`命令关联远程仓库。假设远程仓库的URL是`https://github.com/zevin-code/Git-demo.git`,可以运行以下命令进行关联: ``` git remote add origin https://github.com/zevin-code/Git-demo.git ``` 7. 执行推送操作:最后,可以使用`git push`命令将本地提交的更改推送到远程仓库。如果要将本地分支`main`的更改推送到远程仓库的`origin`分支,可以运行以下命令: ``` git push origin main ``` 这样,你就可以使用Git进行HTTPS推送了。请根据你的具体情况修改命令中的仓库URL、分支名和提交信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值