git使用
- 0.写在前面
- [1. 本地与远程的连接](#1. 本地与远程的连接)
-
- [1.0 本地仓库op](#1.0 本地仓库op)
- [1.1 暂存仓库op](#1.1 暂存仓库op)
- [1.3 创建keygen进行SSH连接](#1.3 创建keygen进行SSH连接)
- [1.4 远程仓库op](#1.4 远程仓库op)
- [1.5 残留问题](#1.5 残留问题)
- reference
- 2.更新与版本控制(后续更新)
0.写在前面
相信有一堆人到现在还没用清楚git进行项目管理,,,,。。
内容持续补充中,,,,
场景是在本地文件夹和github远程仓库都创建好后,使用git bash将本地文件夹上传到github仓库。
基于三个区:本地、暂存、远程,进行分步实现,同时也记录了过程中出现的问题与解决方法。
所以在这之前,你要有如下准备:
-
右键本地文件夹->Open Git Bash here
![](https://i-blog.csdnimg.cn/direct/d4670e2bf08541f2bdec95ac69b62b44.png)
接下来开始正式操作。
1. 本地与远程的连接
1.0 本地仓库op
![](https://i-blog.csdnimg.cn/direct/4556dc244e0a4363a1c5c7ea49a801d1.png)
- 将本地文件变成git可管理仓库
c
git init
完成后文件夹下,出现.git文件
1.1 暂存仓库op
- 将所有更改添加到暂存区
c
git add .
完成后使用命令:
c
git status
查看状态。成功显示绿色,否则显示红色
![](https://i-blog.csdnimg.cn/direct/a4fa69b68547422a84396532a984ebeb.png)
- 将更改提交到本地仓库
c
git commit -m "first commit"
![](https://i-blog.csdnimg.cn/direct/e9ba450bfdf247b5a2056ecee0b96ef5.png)
更具体gpt解释
![](https://i-blog.csdnimg.cn/direct/a239c777642d4139b3941ce9af0a29dd.png)
1.3 创建keygen进行SSH连接
step 1 :创建pub:
c
ssh-keygen -t rsa -C "yourmail@xxx.com"
一些注意事项:
- pub生成路径:默认保存在C:\Users\用户名.ssh下,也可以自己修改其他。我设置默认直接回车
- 密码设置:避免麻烦直接我直接不设置,回车两次 empty密码
step 2:把创建的密钥添加进github
Settings-》SSH and GPG keyss
SSH keys -》New SSG key
- Title :任意命名
- Key: 把之前生成的id_rsa.pub文件内容复制进去
1.4 远程仓库op
- 连接远程仓库
c
git remote add origin https://github.com/username/repository.git
- 将提交推送到远程仓库的 main 分支
c
git push -u origin main
注意,首次且远程仓库empty需要加上 -u
这边出现代理设置问题
![](https://i-blog.csdnimg.cn/direct/8a8a2778a78547e9a4a5702b2cdc780e.png)
参考stack overflow解决,使用以下命令清楚代理设置
c
git config --global --unset http.proxy
git config --global --unset https.proxy
重新上传,出现这个,认证完就行上传了
![](https://i-blog.csdnimg.cn/direct/9e93d2b0c9344922921b1f476531d206.png)
结果打开又出现了问题There isn't anything to compare.
![](https://i-blog.csdnimg.cn/direct/eaf68a569bea4654af7c257ce238881b.png)
![](https://i-blog.csdnimg.cn/direct/a876abd33dbb42688f818ce3cd47efa2.png)
c
# 切换分支至master
git checkout master
# 强制重命名master分支为main分支
git branch main master -f
# 切换分支至main
git checkout main
# 强制推送本地main分支至远程库,并覆盖远程main分支内容
git push origin main -f
执行后再次重新上传,成功了
![](https://i-blog.csdnimg.cn/direct/b2dd749cad9a426fae87554ee616bc2c.png)
最后打开github验证一下,是否上传成功了。
![](https://i-blog.csdnimg.cn/direct/96c6215514524e41bf72b6b7cfe02ef3.png)
1.5 残留问题
- 还不很明白什么分支之类的,main和master那些是啥
- 我看我似乎还挂着gitee的号,是不是都是git生态所以无所谓
- 版本控制啥的后续操作还不会
reference
详细流程参考这位老哥的博客,感谢!
detail:
@brief:本地仓库与远程仓库的连接相关
@date:2024-08-10 17:55
@author:17BOY
2.更新与版本控制(后续更新)
感觉就是pull、push、clone的事儿!
先放个gpt了解个大概