- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我对我如何做到这一点有一个全面的分步描述,我想在这里分享它,以便开发人员可以从中受益(我将回答我自己的问题)。
最佳答案
由于对开源项目做出的更改必须经过同行评审,因此通常会看到依赖于 git pull 请求的工作流。不允许来自直接克隆的 repos 的 pull 请求(您需要自己的 fork)。所以这些是我遵循的步骤来维护一个健康的 fork 并定期为开源做出贡献:
注意:步骤 1、2 和 3 在单个开发机器上的每个项目仅执行一次以设置所有内容。
注 2:如果您将参与的开源项目不使用 master 作为默认工作分支,您必须将下面步骤 4) 和 7) 的命令中对“master”的所有引用替换为那个分支。
1) 确保您在本地处理项目的“分支”,而不是在指向项目作为源的克隆存储库上工作。为了 fork 一个 Github 项目去 https://github.com/entity/project ,点击“Fork”并为fork选择一个合适的GitHub账户,例如。您的个人 Github 帐户。请注意,您的 fork 项目“起源”将不再是原始项目存储库,而是您自己在 Github 上的 fork 。如果您要 fork 私有(private)项目,请注意隐私,因为您可能不希望您的 fork 公开。
2) 将您自己的项目 fork 克隆到您的开发机器中,然后 cd 进入该目录。
git clone git@github.com:yourgithubuser/project.git
3) 在您的 fork 项目中添加原始项目存储库作为上游存储库。
git remote add upstream git@github.com:entity/project.git
原来的主项目 repo 现在是“上游”而不是“起源”
git checkout master
git fetch upstream
git merge upstream/master
git push origin master
5) 在您的项目分支中为您想要贡献的特定修复创建一个新分支(以错误修复、跟踪器问题、文档部分等命名)并切换到它。
git checkout -b myfixes
这会自动创建分支并切换到它。
确保分支不存在 .您可能还想删除已经 merge 到文档中的旧修复分支(否则您的项目中将有大量无用的分支)。您可以通过发出
git branch
来查看您本地的分支机构。如果在该列表中您找到一个已经与上游项目 merge 的分支,那么您可以执行以下操作:
git branch -D myoldfixes
git push origin --delete myoldfixes
重要提示 : 如果您已经在另一台机器上的分支上工作,并希望在新机器上继续该工作,您需要在新机器上重做第 2、3 和 4 步,而不是在第 5 步中执行
git checkout -b myfixes 你应该做
git checkout myfixes (删除-b)。否则你最终会得到一个不好的“分离头”状态(一种匿名分支)
git commit -a -m "My fixes"
(或者,您可以暂存特定文件并在不使用 -a 的情况下提交。您可以根据需要多次提交,但不要在分支中留下未提交的更改)
git checkout myfixes
git pull --rebase upstream master
注释 3 :这可能会导致冲突,但这是正常的,修复它们是过程的一部分(这种情况在非常活跃的项目中更常见)
git checkout myfixes
git push origin myfixes -f
9) 最后可以去Github
https://github.com/entity/project (原始项目不是您的 fork )并单击“pull 请求”。确保你选择上游仓库“master”作为目标分支,你的分支仓库“myfixes”作为源分支(在 pull 请求被接受后,分支会自动为你删除)
关于git - 使用 git pull request 为开源项目做出贡献的工作流程是什么? (例如,通过 Github),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20956154/
有没有办法 git pull 直到有东西可以 pull 。 假设我正在等待一位同事推送他的最新更改,因为我不耐烦并且没有看他的屏幕,我只是运行 watch git pull 直到我看到有东西被 pul
这个问题在这里已经有了答案: What is the difference between 'git pull' and 'git fetch'? (37 个答案) 关闭 6 年前。 这个问题我一直
我有一个分支,想使用 $ git pull origin master 将 master 中的更改 git在我这样做之后, pull 确实没有显示任何 merge 的 PR 被 pull 并且说它已经
在各个地方,寻找有关如何从 GitHub merge 请求创建本地分支的说明,我看到了两个版本: git fetch upstream refs/pull/PR_ID/head:NEW_LOCAL_B
我已经在github上创建了一个仓库。 Upstream中有一些新的 pull 请求。我想从本地上游 pull 请求。 我怎样才能做到这一点?我不知道,没有发现任何与此相关的信息。 最佳答案 通过首先
假设我 fork 一个 GitHub 项目并进行一些更改,然后为要 merge 到的更改创建 pull 请求我从中 fork 的原始项目。 一旦我这样做了,如果我返回到我的 fork 项目并提交更多文
我在 BitBucket 上有一个 Git 存储库。我有两个分支 master 和 db。在我的笔记本电脑上,我对 db 进行了更改,提交了更改并推送到 BitBucket。我可以在该分支中看到提交。
我在分支 tm-skeleton并执行 git pull 做某事(从技术上讲,它要求输入密码,然后我在那里点击了 ),但我怎么知道它从哪里 pull ?通常,[branch "tm-skeleton"
我们在组织中使用 Github 进行源代码控制。多个开发人员不断地将他们的更改 merge 到远程源存储库。就我而言,我在两周前克隆了存储库,之后进行了多次 merge 。现在我正在尝试获取代码的最新
在 merge pull 请求之前,我想在本地快速 pull 请求并运行测试并测试一些内容。我还不想点击 gihub merge pull 请求。 我认为滑轮会有所帮助 http://ejohn.or
我有一个服务器,其中有一些我不知道我在哪里的配置我只是 git pull 并获取 github 存储库中的内容,然后重新启动它以进行部署。 问题是,有一个不是我最新的提交,它实际上不在我的服务器上。这
我是 Git 的新手,所以如果这是微不足道的,我深表歉意。我有一个使用 Github 和 EGit 设置的私有(private)存储库. 要更新并 merge 我的本地存储库分支与远程版本(本质上是g
pull 请求的发起者可能 give the maintainer the ability to edit the pull request . 对于任何给定的 pull 请求,我们如何判断该能力是否
我 fork 了一个GitHub存储库,并在 fork 上进行了一些更改,然后提交了一个 pull 请求,但是原始GitHub存储库的所有者要求对它们进行 pull 请求中的一些更改。我以为在fork
如何使用 Git GUI 工具进行拉取?似乎任何地方都没有 pull 命令。 是否有使用 Git GUI 的等效菜单选项? 任何帮助将不胜感激。 最佳答案 嗯,我发现这个有用的论坛帖子: https:
我制作了一个程序来从我的 github 上托管的公共(public)存储库中提取数据。克隆一个项目工作得很好(无论如何我都是这样做的),但我一直在努力让它工作以提取所有内容,一旦你删除一个文件,它不再
哪个比另一个更可取,为什么?如果我在提交之前 pull ,其他开发人员所做的更改是否与我当前正在处理的内容 merge ?如果是这样,那意味着这个更可取? 最佳答案 最好先提交。 pull 而不提交可
我对使用 git 在团队中工作还很陌生。 我从“origin/master”开始。 首先我创建了一个新分支feature/26062018-offline-seite_ef。 我添加了提交。 我检查了
这个问题在这里已经有了答案: Retrieve specific commit from a remote Git repository (11 个答案) 关闭 9 年前。 我在本地创建一个空的新存
我开始在 Github 上使用新的 pull 请求草案功能,但我想知道在我不小心发出 pull 请求的情况下是否可以将合法的 pull 请求转换回 pull 请求草案。 最佳答案 如前所述on Twi
我是一名优秀的程序员,十分优秀!