当前位置:   article > 正文

关于Vscode与Gitee仓库远程连接的问题_vscode连接gitee远程仓库

vscode连接gitee远程仓库

关于Vscode与Gitee仓库远程连接的问题

问题背景:

在做项目的时候,我和同学Z同时拉取了dev分支,并且各自写了不同的功能,创建了新的分支提交到Gitee仓库
于是此时仓库里有:dev; feature/cy/merge; feature/zxy/vue_frontend三个分支;其中feature/cy/merge为我写的,feature/zxy/vue_frontend为我同学Z写的
我希望将同学Z的仓库分支feature/zxy/vue_frontend合并到我的Vscode本地分支feature/cy/merge中,再提交推送到仓库分支feature/cy/merge中。

一、拉取远程仓库分支

首先,拉取仓库dev分支的代码为:

git fetch origin dev
git checkout dev
git merge origin/dev
  • 1
  • 2
  • 3

此操作会拉取仓库的dev分支,并且在vscode本地创建一个dev分支


二、如何修改合并

然后切换到我的本地分支(或者从本地dev签出分支为)feature/cy/merge

情况一

再使用如下命令将同学Z的修改合并到我的feature/c中:

git merge origin/feature/zxy/vue_frontend
  • 1

情况二

当然如果此时同学z在新分支/feature/z中添加了新的提交,那么你可以使用如下命令将新分支合并到你的本地分支:

git fetch origin feature/zxy/vue_frontend
git merge origin/feature/zxy/vue_frontend
  • 1
  • 2

情况三

如果同学z在新分支/feature/zxy中添加了很多提交,而你只需要其中的某些提交,那么可以使用如下命令将指定的提交合并到你的分支中:

git cherry-pick <commit-hash>
  • 1

最后

最后,你可以使用如下命令将你的修改推送到远程仓库中:

git push origin feature/cy/merge
  • 1


三、修改合并时遇到问题

1、没有追踪分支

使用"git merge origin/zxy/vue_frontend"时报错:merge: origin/zxy/vue_frontend - not something we can merge
如图:
在这里插入图片描述

查找答案:
如果在使用git merge命令合并分支时出现"merge: origin/zxy/vue_frontend - not something we can merge"这个错误,可能是因为你的本地仓库没有这个分支的追踪分支。

情况一

你可以使用如下命令来设置追踪分支:

git branch --set-upstream-to=origin/zxy/vue_frontend feature/cy/merge
  • 1

其中,origin/zxy/vue_frontend是远程分支的名称,feature/cy/merge是本地分支的名称。这个命令会将本地分支与远程分支建立追踪关系,然后就可以使用git merge命令将远程分支合并到本地分支中了。

情况二

当然!如果你想同时拉取远程分支并建立本地分支,可以使用如下命令:

git checkout -b feature/cy/merge origin/zxy/vue_frontend
  • 1

这个命令会从远程仓库拉取origin/zxy/vue_frontend分支,并在本地创建一个名为feature/cy/merge的新分支,同时建立本地分支与远程分支的追踪关系。然后就可以在新分支上进行操作了。

2、不存在远程分支

但是很可惜,当我输入git branch --set-upstream-to=origin/zxy/vue_frontend feature/cy/merge以后又出现了报错:fatal: the requested upstream branch ‘origin/zxy/vue_frontend’ does not exist
如图:
在这里插入图片描述

查找答案:
可能是因为远程仓库中不存在origin/zxy/vue_frontend这个分支。
可以使用如下命令查看远程仓库中的分支:

git ls-remote --heads origin
  • 1

这个命令会列出远程仓库中的所有分支。
当然!如果你想拉取远程仓库中的分支,可以使用如下命令:

git fetch origin <remote-branch-name>:<local-branch-name>
  • 1

其中,<remote-branch-name是远程分支的名称,<local-branch-name是本地分支的名称。这个命令会将远程分支拉取到本地,并创建一个名为<local-branch-name的新分支。

3、没找到远程仓库

很可惜!输入git ls-remote --heads origin以后又报错:

fatal: ‘origin’ does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

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

查找答案:
在这里插入图片描述

4、没有仓库访问权限

于是我又输入了git remote -v来查看远程仓库列表
如图:

在这里插入图片描述
证明存在远程仓库连接,但是无法显示仓库分支列表,那只可能是没有仓库访问权限了

查找答案:

1)查找本地仓库路径

要查看自己的本地仓库所在的路径,可以使用如下命令:

git rev-parse --show-toplevel
  • 1
2)进入到你本地仓库所在的目录

cd命令进入到你本地仓库所在的目录,例如:

cd D:\myrepo
  • 1
3)配置git用户名、邮箱地址

在终端窗口中输入如下命令来配置Git的用户名和邮箱地址:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
  • 1
  • 2

其中,将Your Name替换为你的Gitee用户名,将your.email@example.com替换为你的邮箱地址

4)本地仓库与远程仓库建立连接:

然后,使用如下命令将本地仓库与远程仓库建立连接:

git remote add origin <remote-url>
  • 1

其中<remote-url是远程仓库的URL地址。

5)查看远程仓库连接和分支

此时查看发现多出了拥有访问权限的origin远程连接,并且可以查看该远程仓库的分支
如图:

在这里插入图片描述

最后再跟最开始一样操作即可修改合并分支。
需要注意的是,如果你和你的同事在同一个文件的同一行进行了修改,那么Git可能会提示你合并冲突,需要手动解决冲突后再提交。

6)检索远程仓库最新更改

如果你查找远程分支显示存在,连接权限也确认无误,依然出现:
merge: origin/zxy/backend - not something we can merge这种问题的话,那么请输入:

git fetch
  • 1

该操作可以从远程仓库检索最新更改。

四、题外(vscode本地分支的显示和删除)

我们在创建了很多新的本地分支以后会发现太多了,需要删除,这时候可以通过终端输入git代码和图形界面操作执行:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/164494
推荐阅读
相关标签
  

闽ICP备14008679号