Vscode-Git-Gitee
文章目录
前言:
嵌入式开发Vscode,最近在折腾VScode+gcc-arm-nobi 开源开发环境。
顺便折腾了下Git。使用Vscode 使用Git很方便,但是还是有坑的。。
声明:我也是新手,本文章主要作用是用于后面回顾,解决问题,可以直接看参考文献。
注:本文中部分图片和文字参考下面的链接,侵删!
一、Git的安装
1.安装git
打开Git官方win系统下载页面
https://git-scm.com/download/win,
根据您自己的操作系统选择32位还是64位,
32位系统就下载32-bit Git for Windows Setup.
64位操作系统就下载64-bit Git for Windows Setup
下载完成后安装即可,安装过程中没有注意事项,全部默认一直next直到结束!
2.配置git
从桌面git bash打开。
git config --global user.name "sym" //你的名字
git config --global user.email "xxx@qq.com" //你的邮箱最好跟gitee注册一样
3.生成密钥:
ssh-keygen -t rsa -C “xxxx@qq.com” //gitee的邮箱
回车确认即可。默认生成的路径在:用户目录下的.ssh/ 需要打开隐藏目录
将用户主目录下的 ~/.ssh/id_rsa.pub 文件(公钥)的内容粘贴 Gitee 的添加SSH公钥设置里面即可。这样GIt跟Gitee就连接上了。。。
重点来了。。。。
3.将电脑本地的工程文件上传到远程库
传统Git 命令行方式
2个方式:
(1)如果是先gitee建仓库的话,可以直接git clone 库的地址,然后在这个文件夹 下添加代码即可。这种是最方便的。。没有任何冲突
(2)如果是先在本地电脑建的话,先在对应的文件下。git bash here,
执行 git init。这样这个文件文件夹就和git也建立了联系。方便提交和回退版本。。
(3)将已经在文件夹的文件push远程库(注意)
git add -A 将该文件下的所有文件递归的到暂存区
git commit -m “要备注的文字”
下面的链接要换成自己的 git@
git remote add origin 库的地址(git@gitee.com:shen_yan_ming/stm32_-as608_-openmv.git) 添加远程版本库, origin是别名
git remote --用于远程库的操作
最后。
git push -u origin master
VScode+Git
情景:已经写了部分代码了,想要将某个文件夹内的文件上传到gitee的一个新建库中。。
第一种方式(强烈推荐)
3.2.1 在需要上次到git的文件夹里面右键 通过Vscode打开
3.2.2 初始化存储库
点击1 后点击 2
3.2.3 添加远程仓库地址和远程库的名字
这里建议 ssh链接
这里不在展示。可以是github,gitee,也可以是其他的远程库地址
3.2.4 写入提交的备注
比如修改了啥第几个版本,然后点击上面的√ 箭头,选是就行
3.2.5 填入分支名称 ,发布分支
至此在远程库刷新一下。应该就会发现代码成功上传了。非常方便。vsocde+git yyds
第二种方式
1.在该文件夹内 命令执行 git init 初始化一个版本库
2.正常我们新建的库都会有个readme.md文件。所以先将远程库的文件pull 下来。
git pull
出现下面的内容
There is no tracking information for the current branch.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=EC100Y/<branch> master
大概意思是:是因为本地分支和远程分支没有建立联系,根据提示,我们执行
git branch --set-upstream-to=origin/远程分支的名字 本地分支的名字
这是我的执行:因为我的远程分支和本地分支都master
git branch --set-upstream-to=EC100Y/master master
出现以下相似的类似。代表建立联系了
Branch 'master' set up to track remote branch 'master' from 'EC100Y'
3.此时本地分支和远程分支应该是建立联系了。此时在执行
git pull
fatal: refusing to merge unrelated histories
又TM出现问题。
原因:因为两个根本不相干的 git 库, 一个是本地库, 一个是远端库, 然后本地要去推送到远端, 远端觉得这个本地库跟自己不相干, 所以告知无法合并
直接点干。。把两段不相干的分支进行强行合并。请注意。你的远程库没什么重要的东西。不然就GG了。。
git pull --allow-unrelated-histories
然后。就直接图形化操作。点击VScode 的拉取和推送进行更新代码。。
每次改完代码可以先暂存,差不多就可以提交到本体先,如果又需求可以推送到远程库。
4.版本回退
如果遇到程序改着改着出现问题。就可以进行版本回退了。
(1).首先在该目录下执行:
git log
可以看到我们的版本号和备注
因此我们要回退:
git reset --hard a67d1f2daf5ef431e2ac503686eba3f889fd72b6
代码全部都退回之前的版本的状态。
参考文献:
(1) 用git上传本地文件到码云gitee的方法 - 知乎 (zhihu.com)
(2) VS Code使用Git可视化管理源代码详细教程 - 云+社区 - 腾讯云 (tencent.com)
(3) git pull报错:There is no tracking information for the current branch
(4) git 出现 fatal: refusing to merge unrelated histories 错误
后续拓展: