0


git VSCode 已有本地仓库同步到远程仓库

前言

读研啦,课题组里用 gitlab 进行每周工作的整理汇总,我也趁机巩固一下 git 与远程仓库的关联。

为了方便,我用的VSCode进行编辑,用 git bash 是一样的。

一. 建立本地仓库

通常来讲,我们一般会在本地先建立工作目录,然后在里面进行工作,过段时间后知后觉:哦?好像要把内容放到远程仓库。这时候目录里已经有很多内容了。

在这里插入图片描述

这个时候我们需要先建立本地的仓库,找到

源代码管理

,并

初始化仓库

(git init)。

在这里插入图片描述

之后的源代码管理可以进行

暂存更改

(git add)和

提交

(git commit)等操作。

如果你没有进行

提交

,那后续的步骤会特别简单。

如果已经进行了

提交

,那么本地的仓库便拥有了属于自己的 history commit,之后的同步会不一样。

二. 与远程仓库建立关联

我们找到要同步的远程仓库,如果没有的话,自己新建一个就好了。我这里用了一个 gitee 的仓库。

在这里插入图片描述

我们复制这个仓库的链接(

克隆/下载 - 复制

),并在源代码管理点击

远程 - 添加远程存储库

,把复制的链接粘贴进去,选择

从 URL 添加

,之后给远程仓库取一个有辨识度的标识就行了(一般取名叫

origin

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

现在本地仓库和远程仓库建立了关联,我们点击左下角的分支名,能看到上方的选择框里有了远程的分支。

在这里插入图片描述

三. 拉取到本地仓库

回到之前那个话题:新建本地仓库之后有没有

提交

.

1. 没有提交

那么这一步会很简单,只需要直接拉取远程仓库就可以了。

点击

拉取,推送 - 拉取自

,并选择远程仓库的那个分支即可。

在这里插入图片描述

之后我们切换到资源管理器,能发现远程仓库里的文件全都已经同步到我们本地的仓库了。

在这里插入图片描述

2. 有过提交

这个时候,直接拉取远程仓库会提示

fatal: refusing to merge unrelated histories

。这是因为

拉取

(pull) 会将远程分支与本地分支进行

合并

(merge),而合并则需要一方为空(NULL),或者拥有相同的祖先节点。

没有提交的时候,本地分支为 NULL,可以合并;而提交之后,本地分支生成了自己的节点,因此与远程分支不可能拥有相同的祖先节点,从而不能够合并。

这个时候我们需要用到

变基

这个操作,原理简单来说就是改变历史,将远程分支插入到自己的历史中,从而拥有相同的祖先节点。

我们点击

 分支 - 变基分支

,选择远程的分支就可以了。

在这里插入图片描述

之后切换到资源管理器,也能发现远程仓库的文件同步到了本地仓库。

推送到远程仓库

现在我们本地仓库不仅有本地的工作文件,还拥有了远程仓库的所有文件,而远程仓库却没有我们本地仓库的工作文件,所以我们需要把本地仓库推送给远程仓库。

首先我们设置上游分支,在终端输入命令:

git branch --set-upstream-to [远程分支名]

在这里插入图片描述

之后在源代码管理中点击同步更改即可。

在这里插入图片描述

可以看到远程仓库的内容也更新了。

在这里插入图片描述

后记

写博客是一个很好的巩固过程,刚写完的我都比刚开始写的我拥有了更深的理解,只是每次写博客都要花几个小时,觉得有点耽误时间,所以不经常写。看来思考一下如何 解决问题/摆正心态 也是很有必要的。

标签: git vscode ide

本文转载自: https://blog.csdn.net/qq_39922639/article/details/132164431
版权归原作者 檐廊少主 所有, 如有侵权,请联系我们删除。

“git VSCode 已有本地仓库同步到远程仓库”的评论:

还没有评论