如何将本地仓库提交到远程仓库
首先新建远端空仓库
- 打开GitHub右上角的➕,点击New Repository
- 输入描述信息后新建仓库(新建仓库不建议创建Readme.md)
- 打开你的仓库,点击右上角Code,复制Https类型的URL链接
然后将本地仓库提交至远端
#Git方法
- 打开需要提交的项目文件
- 在项目文件中打开
Git Bash
,输入git remote add origin + Https的链接(链接为先前复制的链接)
origin就是一个名字,它是在你clone一个托管在Github上代码库时,git为你默认创建的指向这个远程代码库的标签
即这个指令将远端和本地联系在了一起。 git branch -M main
,重命名分支。
相关资料链接git push -u origin main
将main分支push到origin仓库中的main分支
相关资料链接1
相关资料链接2
如果是将本地仓库的master分支提交到origin(远程仓库)的main分支,则需要git push -u origin master:main
- 这时,理应会跳出Github账号验证,但是我并没有弹出还频频报错。
这里经过了很长时间的searching。
我尝试使用了Git,TortoiseGit。都会在提交时报错,如:
- fatal: unable to access ‘https://github.com/xxx/xxx/’:OpenSSL SSL_read: Connection was aborted, errno 10053
通过各种教程均无法解决。
直到使用VS2019才成功链接GitHub远端。
所以我认为这个错误的根本问题是:Git链接远端的仓库需要远端仓库所有者的验证。但Git,TortoiseGit这些工具拉取Github验证会因为中国的网络封锁导致无法有效拉取到验证信息。
但是微软爸爸2018年收购了GitHub,加之他的影响力,才使得这件原本很简单的事变得很简单。
注意:
- 如果远程仓库为空仓库,便可以直接提交(
git push origin main
) - 如果远程仓库不为空仓库,并且与本地仓库有冲突,只能强制提交,无法解决冲突。
因此,一般情况下:从本地提交到远程的仓库,仓库一般建为空仓库。
#Tortoise
将本地与远端链接
在当前项目目录下右键打开TortoiseGit设置
在Git栏中点击远端
输入远端名称和远端URL,点击添加。
推送
在当前项目右键鼠标 -> Git 推送(H)…
选择本地和远端的分支,点击确定,即使用命令git.exe push --progress "origin" main:main
。
#VS2019
创建时推送
VS2019在新建项目后,点击Git会出现如下窗口
可以直接在VS2019中远程创建新的Github repository。
也可以选择现有远端,输入URL,创建并推送。
便可以在最初直接推送。
修改后推送
当修改项目内容后,首先提交至本地仓库。相关操作详看这里。
然后点击VS2019 右下角箭头⬆ ,点击推送。
即可在远端仓库看到修改的内容。
有时VS2019推送拉起功能会报错OpenSSL SSL_read: Connection was aborted, errno 10053
,原因一般有两点:
- 推送有冲突,无法推送
- 网络问题,时有发生,多多提交。