关于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

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


二、如何修改合并

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

情况一

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

git merge origin/feature/zxy/vue_frontend

情况二

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

git fetch origin feature/zxy/vue_frontend
git merge origin/feature/zxy/vue_frontend

情况三

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

git cherry-pick <commit-hash>

最后

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

git push origin feature/cy/merge


三、修改合并时遇到问题

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

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

情况二

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

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

这个命令会从远程仓库拉取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

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

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

其中,<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
2)进入到你本地仓库所在的目录

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

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

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

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

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

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

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

git remote add origin <remote-url>

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

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

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

在这里插入图片描述

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

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

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

git fetch

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

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

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

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值