Git 把码云上被fork项目源码merge到fork出来的分支项目

简介: Git 把码云上被fork项目源码merge到fork出来的分支项目

        Git 把码云上被fork项目源码merge到fork出来的分支项目

  

需求描述

被fork的项目有更新代码,希望把更新的代码merge到fork分支项目

 

解决方法

1、clone fork分支项目到本地,并入切换当前分支为目标分支。

 

2、增加被fork项目源码仓库地址到你项目远程分支列表中),并将该仓库地址命名为upstream(当然也可以是其它),如下:

git remote add upstream https://github.com/srcRepo.git

 

其中 srcReop为被fork项目

 

3、取回远程主机被fork项目的全部更新

git fetch upstream

 

当然,也可以指定只取回目标分支

git fetch upstream remoteTargeBranch

 

4、合并取回的目标分支(例中为master)代码到本地当前分支

git merge upstream/master

 

至此,完成了本地代码的合并,接下来只需要push到fork项目的目标分支即可。

 

步骤3,步骤4也可以直接使用pull命令替代,合并为一个步骤,如下

git pull upstream master

 

实例

(例中使用ssh访问仓库)

 

进入对应项目的 git bash后执行的以下命令

 

cassmall@DESKTOP-O45PJTA MINGW64 /e/PrivateReops/CassTestManage (V2.0)

$ git remote add upstream git@gitee.com:xxxx/CassTestManage.git

 

cassmall@DESKTOP-O45PJTA MINGW64 /e/PrivateReops/CassTestManage (V2.0)

$ git remote -v

origin  git@gitee.com:laiy/CassTestManage.git (fetch)

origin  git@gitee.com:laiy/CassTestManage.git (push)

upstream        git@gitee.com:xxxx/CassTestManage.git (fetch)

upstream        git@gitee.com:xxxx/CassTestManage.git (push)

 

cassmall@DESKTOP-O45PJTA MINGW64 /e/PrivateReops/CassTestManage (V2.0)

$ git pull upstream master

remote: Enumerating objects: 64, done.

remote: Counting objects: 100% (64/64), done.

remote: Compressing objects: 100% (63/63), done.

remote: Total 64 (delta 0), reused 58 (delta 0)

Unpacking objects: 100% (64/64), done.

From gitee.com3:xxxx/CassTestManage

* branch            master     -> FETCH_HEAD

* [new branch]      master     -> upstream/master

Merge made by the 'recursive' strategy.

mytest.txt | 1 +

1 file changed, 1 insertion(+)

create mode 100644 mytest.txt

 

cassmall@DESKTOP-O45PJTA MINGW64 /e/PrivateReops/CassTestManage (V2.0)

$

 

说明

第二次开始,可以通过git客户端界面进行代码的合并操作,非常简单,如下指定远程主机和要pull的分支即可。

 

 

目录
相关文章
|
存储 安全 开发工具
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
1116 4
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
|
开发工具 git
图解Git——分支的新建与合并《Pro Git》
在Git开发中,新建与合并分支是常见的操作。以实际开发为例:为实现新需求创建分支`iss53`进行开发;遇紧急Bug时,切换至线上分支创建`hotfix`修复并合并回线上分支,再切换回`iss53`继续工作。完成`iss53`后,切换到`master`合并。若出现冲突,使用`git status`查看,手动编辑解决冲突后标记为已解决并提交。图形化工具如`git mergetool`也可辅助解决冲突。
447 9
|
开发工具 git 开发者
图解Git——分支简介《Pro Git》
Git 分支是其核心特性之一,允许开发者从主开发线分离工作,避免干扰主线。传统版本控制系统创建分支效率低,而Git的分支创建和切换非常轻量高效。
857 9
|
10月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
2644 15
|
11月前
|
Shell 网络安全 开发工具
项目快速导入git
本文介绍了如何在本地初始化 Git 仓库并将代码提交到远程仓库(如 GitHub 或 Gitee)的基本流程。内容包括安装 Git、创建仓库、添加文件、提交更改以及推送代码到远程仓库的详细步骤,适合初学者快速掌握 Git 的基本使用方法。
2698 1
|
开发工具 git 开发者
vscode+git解决远程分支合并冲突
通过这些详细步骤,您可以掌握如何使用VSCode和Git高效地解决远程分支合并冲突,提高开发效率和代码质量。希望这些内容对您的学习和工作有所帮助。
3673 86
|
12月前
|
API 开发工具 git
使用git pull遇到Automatic merge failed; fix conflicts and then commit the result.解决方案卓伊凡
使用git pull遇到Automatic merge failed; fix conflicts and then commit the result.解决方案卓伊凡
713 0
使用git pull遇到Automatic merge failed; fix conflicts and then commit the result.解决方案卓伊凡
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
805 18
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
533 16