git本地仓库上传项目到github
流程如下:
- 本地文件夹目录下初始化git仓库并管理项目
- git和github是通过ssh加密连接,需要ssh公钥
- 到github->setting上的SSH & GPG keys中创建新的SSH key,并粘贴公钥。
- 本地添加远程库
- 连接成功,具体操作如下
1、本地文件夹目录下初始化并管理git仓库
1.1 初始化
git init
1.2 建立远程仓库
在远程仓库新建仓库,这里使用github作为远程仓库。
1.3 将本地仓库和远程仓库关联
git remote add origin [远程仓库链接地址]
1.4 本地编辑代码后提交至远程分支
git push -u origin master
Note:第一次使用加上 -u 参数,是推送内容并关联分支,之后推送直接使用git push即可,因为第一次已经将当前本地master分支和远程origin的master分支关联了。
git push -u origin master
=
git push origin master //将当前分支提交到远程origin的master分支
+
git branch --set-upstream-to=origin/master master//将远程仓库origin的master分支与本地仓库master分支关联
2.1 添加到中间仓库(缓存库)
git add . //添加文件夹所有文件
git add ./C/*.cpp //添加C文件夹下的cpp文件
2.2 查看中间库中的文件状态
git status -s // A 表示已经存在
2.3 删除中间库中的部分文件
git remove --cache C/.cpp // 删除C下.cpp文件
git remove -r --cache Test/*//删除所有文件及文件夹
2.4 commit到版本库
git commit -m "this is my first github lecture for newer huber"
…这里放一张git仓库、中间库、版本库的关系图:
3、本地创建ssh公钥,粘贴到github得到ssh keys
3.1 Git Bash 创建公钥
ssh-keygen -t rsa -C "***@qq.com"
到 C:\Users\1.ssh 找.pub文件,用浏览器打开。
3.2 复制粘贴到github->setting->ssh&gpg keys新建ssh key
3.3 Git Bash 添加远程库
git remote add origin [项目地址]
删除远程库:
git remote remove origin
查看远程库
git remote -v
2.4 git push 即可
首次上传:
git push -u origin master
项目上传成功
![在这里插入图片描述](https://img-blog.csdnimg.cn/8f6c33240a1e4185b1953f66888e9272.jpeg
2.5 上传遇到不能链接:代理问题![在这里插入图片描述](https://img-blog.csdnimg.cn/dfa4b7dd390749db88d6bd8038488b11.jpeg)
方法一:取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy
方法二:添加代理端口
git config --global http.proxy http://127.0.0.1:33210
git config --global https.proxy http://127.0.0.1:33210
补充:
git clone出现如下问题:
问题1:
fatal: unable to connect to github.com:
github.com[0: xx.xx.xx.xx]: errno=Operation timed out
解决办法:
git config --global url.“https://”.insteadOf git://
问题2:
error: failed to push some refs to ……
原因:
我们在创建仓库的时候,都会勾选“使用Reamdme文件初始化这个仓库”这个操作初识了一个README文件并配置添加了忽略文件。当点击创建仓库时
借用博主图片:
它会帮我们做一次初始提交。于是我们的仓库就有了README.m和.gitignore文件,然后我们把本地项目关联到这个仓库,并把项目推送到仓库时,我们在关联本地与远程时,两端都是有内容的,但是这两份内容并没有联系,当我们推送到远程或者从远程拉取内容时,都会有没有被跟踪的内容,于是你看git报的详细错误中总是会让你先拉取再推送,但是拉取总是失败
解决办法1:同步远程和本地的readme.m和.gitignore文件。
git --rebase origin main
解决办法2:同步远程和本地的readme.m和.gitignore文件。
git stash
git pull --rebase origin main
git push origin main
ok!
问题3:
如何将本地初始化后的文件夹由master分支改为main分支?
答:
git branch -m master main