github 修改fork的代码之后如何提交代码并pull request

部署运行你感兴趣的模型镜像

官方的解释还是有点模糊,我是参照这篇文章来的。

http://www.linuxidc.com/Linux/2012-12/76922.htm

关于git的版本管理的原理,我是从这篇文章里面学习的。

http://wenku.baidu.com/view/78898a1fa76e58fafab00377.html

下面我来总结一下如何在github上面将他人的项目拷贝到自己的本地,修改代码之后重新上传到自己的项目主页,同时通知原项目开发者。

1.安装git工具

    

>sudo apt-get update
>sudo apt-get install git

2.Fork一个项目到自己的主页

   在想要fork的页面fork一个。

3.克隆一个拷贝到自己的主机上

   在我们fork出来的自己的主页上拷贝http clone的地址,在本地的机子上运行如下命令将自己主页代码库中的代码文件拷贝到本机上的文件夹来。

   

>git clone 'http clone 的地址'
   一般clone下来的文件夹都会在本地的用户的主目录下面。所以直接在终端输入cd命令加上项目名称即可进入项目文件夹中。

4.配置本地库与原始库的关联

    进入我们的项目文件夹:

    

>cd projectName
    添加与原始库的关联,命名为upstream,此地址是原项目开发者的项目主页上的clone的地址:这是专门用来与主开发者保持相同进度的方法:

    

>git remote add upstream ’clone地址‘
     从原始库中抓取最新的更新

>git fetch upstream

5.在本地修改代码文件并PUSH

    在本地修改完文件测试完成之后,将代码提交到我们自己的fork出来的项目主页。

git commit -a -m ’更新原因'

git push 'fork出来的地址‘
    通过这两个命令就可以将我们的修改发送到我们的fork主页上去,但是,这个时候项目的开发者还不知道我们的修改,通过下面的步骤可以通知开发者。

6.发送pull request给主开发者

    在项目主页上

    代码目录左上方有如图所示的图表,点击绿色的图标,然后就可以比较你的版本和源中代码的差别,然后就可以选择发送一个Pull request给主开发者,添加修改的原因描述。然后就等待主开发者去merge了。

  

7.抓取原始库最新的更新

    抓取原数据库的更新,我们需要使用是git fetch upstream命令。这命令会自动选择更改过的代码文件进行更新。

您可能感兴趣的与本文相关的镜像

AutoGPT

AutoGPT

AI应用

AutoGPT于2023年3月30日由游戏公司Significant Gravitas Ltd.的创始人Toran Bruce Richards发布,AutoGPT是一个AI agent(智能体),也是开源的应用程序,结合了GPT-4和GPT-3.5技术,给定自然语言的目标,它将尝试通过将其分解成子任务,并在自动循环中使用互联网和其他工具来实现这一目标

### GitHubForkPull Request 的用法及区别 在 GitHub 中,ForkPull Request 是协作开发中的两个重要概念。以下是它们的定义、用法以及主要区别: #### 1. Fork 的定义与用法 Fork 是指在 GitHub 上复制一个仓库到自己的账户中[^1]。通过点击“Fork”按钮,用户可以创建一个独立的副本,从而允许对原始仓库进行修改而不影响原作者的代码。 - **用法**: - 当用户希望为一个项目贡献代码但没有权限直接修改原始仓库时,可以先 Fork 原始仓库。 - 在 Fork 后的仓库中,用户可以自由地进行更改和提交。 - 最终,可以通过 Pull Request 将更改提交回原始仓库。 ```bash # 示例:Fork 操作后克隆到本地 git clone https://github.com/你的用户名/原始仓库名.git ``` #### 2. Pull Request 的定义与用法 Pull Request(简称 PR)是向原始仓库的维护者请求合更改的一种方式[^1]。它允许开发者将自己 Fork 的仓库中的更改提交给原始仓库,邀请维护者审查和合这些更改。 - **用法**: - 在完成对 Fork 仓库的修改后,用户可以在 GitHub 界面上发起一个 Pull Request。 - Pull Request 会显示更改的详细信息,包括新增、删除或修改代码行。 - 维护者可以审查这些更改,决定是否接受、拒绝或要求进一步修改。 ```bash # 示例:推送本地更改到 Fork 的远程仓库 git push origin main ``` #### 3. ForkPull Request 的区别 以下是 ForkPull Request 的主要区别: | 特性 | Fork | Pull Request | |-------------------|------------------------------------------|---------------------------------------------| | **目的** | 创建一个独立的仓库副本 | 请求将更改合到原始仓库 | | **操作对象** | GitHub 上的远程仓库 | 用户 Fork 的仓库与原始仓库之间的差异 | | **执行时机** | 在开始修改代码之前 | 在完成代码修改准备提交之后 | | **是否需要权限** | 不需要对原始仓库的写权限 | 需要原始仓库维护者的审查和批准 | #### 4. 实际应用场景示例 以下是一个实际场景的示例,展示如何结合使用 ForkPull Request[^4]: 1. **Fork 官方仓库**:用户 Fork 官方作品提交仓库至个人 GitHub 账户。 2. **Clone 到本地**:从 Fork 的仓库克隆代码到本地电脑。 3. **修改代码**:在本地仓库中添加或修改代码。 4. **提交更改**:将本地更改推送到 Fork 的远程仓库。 5. **发起 Pull Request**:在 GitHub 上发起 Pull Request,请求官方仓库维护者审查代码。 #### 5. 相关命令总结 以下是常用的 Git 命令,帮助完成 ForkPull Request 的相关操作[^3]: ```bash # 克隆 Fork 的仓库到本地 git clone https://github.com/你的用户名/原始仓库名.git # 添加上游仓库(原始仓库) git remote add upstream https://github.com/原始作者名/原始仓库名.git # 更新本地仓库与上游仓库同步 git fetch upstream git merge upstream/main # 提交更改到 Fork 的远程仓库 git push origin main ``` ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值