Devops-git篇-02-仓库fork后同步

发布于:2024-12-06 ⋅ 阅读:(127) ⋅ 点赞:(0)

fork仓库

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

此时会将该仓库在复制一份,并存放在你的路径下:
在这里插入图片描述

设置上游代码库

进入本地代码库:

# 从自己仓库进行clone(fork)
git clone https://github.com/qiqiuyang/bk-ci.git

# 进入目录
cd bk-ci/

# 查看目录结构
$ ls
CHANGELOG              CONTRIBUTING.md  README_EN.md  support-files
CODE_OF_CONDUCT.en.md  docker-images    README.md     THIRD-PARTY-NOTICES.txt
CODE_OF_CONDUCT.md     docs             scripts
CODEOWNERS             helm-charts      SECURITY.md
CONTRIBUTING.en.md     LICENSE.txt      src

查看远程仓库的路径

$ git remote -v
origin	https://github.com/qiqiuyang/bk-ci.git (fetch)
origin	https://github.com/qiqiuyang/bk-ci.git (push)

这里可以发现从自己仓库clone下来后,fetch和push的路径都是自己的。

设置上游代码库

$ git remote add upstream git@github.com:TencentBlueKing/bk-ci.git

再次查看远程仓库地址:

$ git remote -v
origin	https://github.com/qiqiuyang/bk-ci.git (fetch)
origin	https://github.com/qiqiuyang/bk-ci.git (push)
upstream	git@github.com:TencentBlueKing/bk-ci.git (fetch)
upstream	git@github.com:TencentBlueKing/bk-ci.git (push)

同步源仓库的更新

使用下面的命令拉取源仓库的更新:

$ git fetch upstream
remote: Enumerating objects: 17643, done.
remote: Counting objects: 100% (13492/13492), done.
remote: Compressing objects: 100% (3960/3960), done.
remote: Total 10070 (delta 4278), reused 8600 (delta 3184), pack-reused 0 (from 0)
接收对象中: 100% (10070/10070), 2.44 MiB | 2.05 MiB/s, 完成.
处理 delta 中: 100% (4278/4278), 完成 657 个本地对象.
来自 github.com:TencentBlueKing/bk-ci
 * [新分支]                master          -> upstream/master
 * [新分支]                release-1.11    -> upstream/release-1.11
 * [新分支]                release-1.14    -> upstream/release-1.14
 * [新分支]                release-1.2     -> upstream/release-1.2
 * [新分支]                release-1.3     -> upstream/release-1.3
。。。
。。。
 * [新标签]                v1.8.4          -> v1.8.4
 * [新标签]                v1.8.5          -> v1.8.5

到这里就比较清晰了,在更新时就是把源仓库的更新的分支放在upstream下,例如:upstream/master

所以同步远端分支时,就是git fetch upstream,然后将自己的分支merge目标分支内容,例如:git merge upstream/master

如此便可以实现自己的fork仓库同步源仓库的新变更了。

向原仓库发起PR

首先在自己的仓库点击Pull Request->New Pull Request,进入以下截图页面
在这里插入图片描述

base repository为原仓库的某个分支,head repository为fork仓库发某个分支, head的某个分支代码合到base的某个分支
在这里插入图片描述
进入原仓库的Pull requests可看到刚才发起的PR, 这里就不演示了


网站公告

今日签到

点亮在社区的每一天
去签到