github fork后的pull和保持同步

简介:



前言

对github上的某个项目贡献自己的修改,但自己可能并没有那个仓库的权限,那要如何操作呢?git的机制和svn还是有些区别的,本文做些记录。

思路1

clone项目到本地,有修改之后,直接提交到原作者仓库

思路2

forck项目到自己的仓库,然后进行修改,并把修改的内容推送到原作者仓库。

尝试过第一种思路会报权限不足,本篇记录第二种思路

本文示例

原作者仓库地址:https://github.com/mr-kelly/KSFramework

自己Fork后的地址:https://github.com/zhaoqingqing/KSFramework/

 

操作环境

拉取方式:使用https而非ssh

windows 7 x64

TortoiseGit 2.2.0.0

git version 2.10.0.windows

 

Fork并Pull给原作者

当自己修复原作者的一些bug之后,希望把这个修改push给原作者。

git重新定位到自己仓库

当使用git clone 远端的项目到本地之后,要如何把这个地址指向自己的仓库呢?又为什么要指向自己仓库呢?

1、指向自己的仓库,自己拥有提交和push权限

2、可以不用重新git clone一份资源下来啦。

 

通过修改远端,类似于SVN的重新定位,就是修改远端的地址。

我把远端的地址换成是我github地址,并点击确定。

image

pull request给原作者

1、当把远端地址改成自己的仓库地址之后,就有权限提交了,可以和平时一样进行commit和push

2、推送到自己的远端之后,如果你想把这个修改 pull 给原作者,在网页版可以看到一个 New pull request 的按钮,点击它

image

 

3、点击之后,会出现你要推送的修改,查看无误之后,可以点击 “ Create pull request ”

image

 

4、接下来在原作者的仓库的 pull request,就会出现你pull的修改,等待原作者通过之后,你的代码就被合并了。

image

保证fork仓库的同步

上述方法是fork原作者的仓库,而当原作者的代码有更新,我们要如何把作者同步到自己的仓库呢?

添加原作者地址

image

此步骤用于更新原作者的修改,保证库中的部分代码和原作者一样。

 

同步原作者的修改到自己仓库

1、使用git pull(拉取)原作者的新修改之后,打开TortoiseGit的同步窗口

2、选择 远端分支,在“将推送的提交”选择要推送的分支

3、点击推送,会自动添加此次的注释,一般都是“Merge xxx”

4、做完以上三步,你就把原作者的修改内容同步到自己的仓库了

image

 

更多

直接提交到原作者仓库遇到的问题

如果你在clone之后直接提交到原作者仓库时,报权限不足,那么建议使用fork 后 push的方式,即本文所使用的方式

复制代码
git.exe push -v --progress "origin" master:master

remote: Permission to mr-kelly/KSFramework.git denied to zhaoqingqing.
fatal: unable to access 'https://mr-kelly@github.com/mr-kelly/KSFramework.git/': The requested URL returned error: 403
Pushing to https://mr-kelly@github.com/mr-kelly/KSFramework.git
复制代码

 

参考资料:http://blog.csdn.net/huutu/article/details/51831647


本文转自赵青青博客园博客,原文链接:http://www.cnblogs.com/zhaoqingqing/p/5959831.html,如需转载请自行联系原作者

相关文章
|
7月前
|
缓存 网络协议 Linux
百度搜索:蓝易云【解决github push/pull报错443】
通过以上方法,你有望解决GitHub push/pull报错443的问题。如果问题仍然存在,建议检查GitHub的状态页面,看是否有正在维护或故障的情况。
137 3
|
7月前
|
数据采集 人工智能 Rust
『GitHub项目圈选周刊01』一款构建AI数字人项目开源了!自动实现音视频同步!
『GitHub项目圈选周刊01』一款构建AI数字人项目开源了!自动实现音视频同步!
1040 0
|
2月前
|
对象存储
一个通过 GitHub Action 将 GitHub 仓库与阿里云 OSS 完全同步的脚本
一种将 GitHub 仓库完全同步到阿里云 OSS 的方法。
|
4月前
|
存储 安全 Java
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
在一次意外中,作者因三年前将测试代码遗忘在GitHub上而遭遇了代码被他人fork的问题。为解决这一危机,作者详细介绍了如何通过GitHub的DMCA下架通知流程安全删除敏感代码,包括处理私人信息和商标侵权的具体步骤。本文不仅提供了实用的操作指南,还强调了及时响应的重要性,帮助读者避免类似风险
47 1
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
|
4月前
|
存储 Linux Go
如何在Github上Pull Request的教程
关于如何在GitHub上发起Pull Request(合并请求)的详细教程,包括Fork(分支)、Clone(克隆)、创建新分支、修改代码、提交更改、推送到远程仓库等步骤,并提供了解决权限问题的方法,如创建个人访问令牌(Personal Access Token)。
114 6
|
4月前
|
Windows
github无法访问?vscode 无法使用github登录同步? 改 hosts 吧
github无法访问?vscode 无法使用github登录同步? 改 hosts 吧
|
7月前
|
开发工具 git 开发者
【GitHub】如何在github上提交PR(Pull Request) + 多个pr同时提交、互不干扰
【GitHub】如何在github上提交PR(Pull Request) + 多个pr同时提交、互不干扰
1047 6
|
7月前
|
开发工具 git
【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件
【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件
100 5
|
7月前
|
开发工具 数据安全/隐私保护 C++
vs2019中同步到github上的用户名错误_控制面板和vs的git全局设置重新登录
vs2019中同步到github上的用户名错误_控制面板和vs的git全局设置重新登录
76 0
|
7月前
|
语音技术
如何在GitHub正确提PR(Pull Requests),给喜欢的开源项目贡献代码
最好的中文TTS项目Bert-vits2更新了中文特化分支,但可能由于时间仓促,代码中存在不少的bug,作为普通用户,有的时候也想为自己喜欢的开源项目做一点点贡献,帮助作者修改一些简单的bug,那么该如何开始? 本次我们以Bert-vits2项目为例子,分享正确提交PR(Pull Requests)的方式。