VSCode的源代码管理只是个界面或者说是个插件,本质还是利用git命令行工具进行各种操作,博主主要记录一下界面的设置和使用心得
这位兄弟讲的也挺细的,借鉴学习以下 https://www.cnblogs.com/Can-daydayup/p/14413914.html

1 使用VScode克隆项目

先随便找个地方初始化git仓库git init,然后打开VScode克隆项目在这里插入图片描述
粘贴github网页上复制的网站在这里插入图片描述
选择要克隆到的本地路径在这里插入图片描述
等待克隆完成,然后可以选择不同的git分支在这里插入图片描述

2 提交commit、推送push、拉取pull、抓取fetch、同步sync

在这里插入图片描述
每次提交都请记得填写message栏
暂存和提交都是对于本地git仓库而言的,不会对远程仓库产生影响
提交和推送是commit and push,会将代码同步到本地git仓库的同时也上传远程仓库
提交和同步是commit and sync,它会先从远程拉取pull后和本地仓库比较后再push上传,如果有差异也可以用合并编辑器手动合并
若你知道其他人更新的了代码,你要将它们的代码同步到本地
在这里插入图片描述
优先推荐同步,避免团队协作开发时代码不同步问题
在这里插入图片描述
还有一种叫抓取fetch,他和pull拉取的区别是他不会做代码合并,可以点同步更改来合并代码。如果你不想同步所有的代码可以选择fetch来逐个手动更新在这里插入图片描述

3 分支branch设置

可以按如下步骤执行
在这里插入图片描述
然后就会在本地生成新的分支在这里插入图片描述
点击发布Branch就会将新建的本地分支上传到远端在这里插入图片描述
随即你便能在远端仓库上看到你刚新建的分支在这里插入图片描述

3.1 更新远端分支并提交

假如其他开发者新建了分支,你要在这个新建分支上提交代码在这里插入图片描述

首先需要在vscode中添加远程储存库,不然vscode找不到刚新增的远端分支,输入github的http网址和你想要对该远程库设定的名称在这里插入图片描述
便可点击其他用户新建的分支并切换到该分支上进行提交和推送了在这里插入图片描述
但是一般情况下如果我们已经写了很大段代码,建议自己新建一个分支提交在这里插入图片描述

3.2 合并分支

该操作用于当别的分支有更新,然后你想在当前分支下将别的分支改动的内容同步到当前分支的操作
首先打开你想将代码合并到的目标分支,然后在vscode这里点合并分支的选项在这里插入图片描述
然后选择你想要合并的分支在这里插入图片描述
如果有差异,会在下方弹窗提示并在左侧显示更改的文件,然后依次点击查看在这里插入图片描述
然后我们可以看到和原先代码不同的部分,可以选择使用当前分支的更改,也可以选择传入的更改,也可以保留双方更改就会变成这样在这里插入图片描述
还可以使用右下角显示的合并编辑器更精确地操作在这里插入图片描述
剩下的则是没有冲突的代码,可以打开查看,若不想更改也可以点击取消暂存的更改在这里插入图片描述
这样被取消暂存的会退出暂存到更改中,再在更改中选择放弃更改就可以保留原来的代码不被修改了在这里插入图片描述

3.3 发布分支

我当前打开了一个仓库的一个分支,而且我已经在该分支上提交了一系列代码,如图所示我在一个叫study2的分支上提交了几次代码
在这里插入图片描述
现在我想要将这个分支一整个包括提交记录整体发布到另外一个仓库
1、首先先添加一个远程存储库
在这里插入图片描述
2、点击发布分支后选刚才添加的远程仓库,之后就可以在我们刚才选的远程仓库看到我们study2的分支了
在这里插入图片描述
3、图中的重命名分支是重命名本地分支,你改了本地分支的名后续直接push代码,远程分支的名称也不会变,因此要重新发布分支才会是新的名字。
在这里插入图片描述

4 储藏 Stash

当你正在编写代码并且当前的功能还没实现,你不想提交代码,但是你此时需要切换到别的分支或是从历史提交的版本中签出。
这种情况可以先将当前修改储藏起来,这样当前的更改便会储藏起来
在这里插入图片描述
储藏时git会记下储藏的分支,方便后续恢复
在这里插入图片描述
想要恢复也很简单,切换到储藏的分支,应用储藏便可
在这里插入图片描述

5 撤销提交与推送

5.1 留存记录的撤销推送

如果你发现你这次提交和推送有bug没解决,想撤销,
直接在命令行输入

git revert HEAD

他会新建一次提交说明上次提交被撤销了
在这里插入图片描述

5.2 仅撤销提交

若并没有推送出去,只是提交了,可以点击
在这里插入图片描述
也可以使用指令,其中最后一个n表示撤销几次的提交(1,2,3…)

git reset HEAD~n

6 同步远程仓库

当远程仓库新建新分支之后,本地要获取这些改动需要输入如下指令

git fetch --all

该指令会同步所有远程仓库的分支数据
在这里插入图片描述
值得注意的是,这个指令可以用于新增分支的情况,若有分支被删除了呢?

git fetch --all --prune

这样就不仅能更新删除的,还能更新新增的分支了
在这里插入图片描述
不仅更新分支数据,若别的已有分支有新的更改也会更新过来,而且这次更新不会帮你同步到本地分支上
在这里插入图片描述
建议在第一时间先同步远程的更改,将你目前编写好的内容储藏起来,再点击同步
在这里插入图片描述
然后再将储藏的代码放出来继续自己的开发
在这里插入图片描述

7 大文件提交

若你有一个超过100MB的文件要上传Github,在没有做任何设置的情况下会报错如下

remote: error: File self_bigfile.7z is 115.68 MB; this exceeds GitHub's file size limit of 100.00 MB   

在这里插入图片描述

1、安装Git LFS

sudo apt install git-lfs

2、在当前仓库下初始化git lfs

git lfs install

显示如下信息表示成功初始化

Updated git hooks.
Git LFS initialized.

3、使用如下命令找到大文件

find ./ -type f -size +100M -not -path './.git/*' -exec du -h {} \; | sort -h 

4、跟踪大文件的文件类型

git lfs track "*.7z"

5、出现.gitattributes文件后提交并推送
在这里插入图片描述
6、若别的电脑要下载该大文件,要完成1、2步完成git lfs安装和初始化
初始化好后,若未clone直接clone即可,若clone过了则输入如下命令

git lfs pull

问题issue解决

问题一:
当显示该问题说明远端的test3分支已经被删除了,但我们vscode的远程储存库并没有更新且尝试从该分支拉取代码,因为本地git并不知道远端做了什么操作在这里插入图片描述
可以使用抓取(删除)fetch -p指令来更新状态在这里插入图片描述

问题二:
若你不管远程的更新,继续自己的提交和推送,会出现如下错误提示
在这里插入图片描述
这时候我们要先撤销上次提交
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐