- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
实现#2 和#3 的最佳设置是什么?即,尽可能轻松地修改但保持更新。
我列出了 Burhan Khalid,据我了解 Dan 的回答。
感谢两位友善的回答!
本地子模块
git 克隆库(作为子模块),并根据需要进行修改。
在需要时 pull 库的更改。
github fork + 本地子模块
您可以直接更改代码,并仍然在单独的存储库中管理您对库的更改。(不确定好处,您可以在 github 中拥有 git-forked 存储库,这样您就可以向原始存储库发出 pull 请求)
(github fork +) 本地克隆(作为独立的 git repo)+ pip -e
这个想法是,好的..通过 pip 安装很好,不是吗?
由于 pip 安装的代码位于 virtual-env 目录中(不一定包含在您的项目 repo 中),因此对其进行修改并将其提交到您的 git repo 是一件很痛苦的事情。
(我正在尝试了解 pip -e
的作用以及 python setup.py install
的作用。但这并不像 Burhan 想象的那么容易。谢谢!)
pip install from git repo the latest commit availbale
pip -e original library repo
+ python setup.py install
您不关心pull request
,只需修改并使用它即可。
不确定 python setup.py install
做了什么,以及我所做的修改将如何反射(reflect)在我的项目 repo 中
最佳答案
@Dan 是正确的,您的问题实际上是关于 git 的。
fork 是一个完全分离的副本,当您从 github 上的 fork 克隆时,您的克隆(桌面上的存储库)不知道您的 github repo 是从哪里 fork 的。对于它,您的 github 存储库是“来源”。
因此,使用 git remote
将原始源添加为附加远程通常是一种很好的做法。
你无权写入它,但你可以 pull 然后 rebase (这是一种奇特的说法“通过重放自从我 fork 或分支以来的所有提交来让我保持最新状态”),使确保你更新了原始版本,更重要的是,如果你决定提出 pull 请求,你没有破坏任何东西。
具体来说,对于 pip,您可以使用 pip directly pull from github :
pip -e git://github.com/you/your_fork.git
pip -e https://github.com/you/your_fork.git
So what you are suggesting is.. create a fork in github. git clone it into local machine. make modification to it and commit/push to the repo. when I need updates from the original library repo, I should merge those changes into my local forked repo. commit it. Then I can do
pip -e from my forked github repo
again. Sorry if this is rather long but that's exactly why I wanna ask, if there is a shorter way.
这是正确的工作流程 - 如果您想维护自己的原始库版本并进行一些更改。
虽然您真正应该做的是提出一个描述您的更改的 pull 请求(特别是如果您正在修复一些错误)。这样,如果您的更改没有破坏任何东西 - 原始库所有者有可能将您的分支 merge 到主存储库中。
这并不意味着 cheese shop (pypi) 将被更新,因为最初的图书馆所有者仍然必须“手动”更新 pypi(pypi 未以任何方式与 git 或任何其他系统链接或同步,它只是一家商店)。一旦他们这样做了,那么每个人都将能够直接获取安装您的修改。
当您执行 pip -e
时,它会安装一个 e
ditable version这意味着您可以在实际将其作为软件包安装之前试用它。
如果您的更改是非常小的一次性更改,您可以从原始库源安装可编辑版本,修改它,然后python setup.py install
您的修改版本;您可以选择创建一个补丁,如果/当原始源更新时,您可以使用它来修改原始源。
pip install -e
确实用于安装包的开发版本,因为您不应该在 pypi 上发布它们。
关于git - 如何使用 fork 的 repo 并仍然跟踪原始来源的更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24255519/
我正在用 robocopy 编写一个 powershell 脚本来从列表中复制“完整的”unc/文件名路径。我遇到的问题是 robocopy 似乎在我的源路径末尾添加了一个 \。 我有一个 C:\te
我发现守护程序通过这些代码创建了一个容器 // NewBaseContainer creates a new container with its // basic configuration. fu
是否有所有潜在 map 源的列表?在示例页面上,可以浏览四种类型的 map 。外面还有什么? http://tombatossals.github.io/angular-leaflet-directi
是否有所有潜在 map 源的列表?在示例页面上,可以浏览四种类型的 map 。外面还有什么? http://tombatossals.github.io/angular-leaflet-directi
我们的网站比较多,第一次使用ElasticSearch不知道应该怎么配置ES: 我们想使用 ES 作为这些网站的唯一搜索引擎,我们是否应该为每个网站设置单独的 ES 实例? (我想这可能比一个 ES
我需要一些关于我对 UNI 项目的想法的建议。 我想知道是否可以将一个音频文件从不同的音频源分成不同的“流”。例如,将音频文件拆分为:引擎噪音、火车噪音、人声、并非始终存在的不同声音等。 我不一定需要
我想设置“公共(public)彩票”,每个人都可以看到选择是随机和公平的。如果我只需要一点,我会使用例如当天收盘道琼斯指数的 LSB。问题是,我需要 32 位。我需要一个来源: 每日可用 全世界都可以
来自 pickle 的 python 文档: Warning The pickle module is not secure. Only unpickle data you trust. 什么是 pi
我试图安排一个 liquidsoap 流媒体源在未来的特定日期和时间播放。我相信这可以使用 Liquidsoap switch 命令来完成,但我无法理解此处描述的文档:http://liquidsoa
对于Shiny应用程序,我希望能够播放在 session 本身期间生成的音频文件。 如果它是我要上传的音频文件,我将使用 tags$audio(src = "www/name.wav", ty
我想更改我的 OpenGL 来源。图片会说明: 现在是这样的: 这就是我想要的: 当前代码 gl.glViewport(0, 0, width, height); gl.glMatrixMode(GL
我正在尝试让 Stripe 运行起来,我几乎已经完成了,但有一件令人困惑的事情。 source: 'tok_visa' 部分。看起来它可以是“tok_mastercard”、“bank_account
我已经下载了 primefaces 源代码,看看是否可以从中学习。该 jar 包含一堆使用编写器来处理渲染等的 java 类。我期待找到一些 .xhtml 文件 ... and etc etc
如果我查看页面源代码,我会看到 styling += 'ul#topnav a.tabHeader5'; styling += '{'
我正在尝试根据显示器的大小更改背景图像。它不在服务器上运行。您可以在 https://github.com/Umpalompa/Umpalompa.github.io 找到我的所有代码. 我尝试同时使
从here的最底部开始.有一个 URL 生成器,我可以使用引荐来源网址在 Google Play 上生成指向我的应用程序的链接。我如何从谷歌分析中提取该 Activity 来源?我一直在谷歌上搜索,但
我用 Google Weather API 制作了一个插件,目前我正在从 Google 的 API 中提取图像。对于晴天,我正在拉 http://www.google.com//ig/images/w
是否可以通过环境变量为 @CrossOrigin 注释指定来源?我想这样做,以便我可以将相同的代码库用于 uat/staging/production。我希望我的 uat/staging 环境可以通过
我需要等待我的 JavaScript 中的文档准备就绪,才能在正文底部插入一个 div。 我想: 使此 JavaScript 文件尽可能小(如果可能,将其编译到 < 1kb) 在闭包中内联提供文档就绪
我正在开发电子邮件服务并想连接到谷歌帐户,是否可以将我的本地主机用作授权的 JavaScript 来源? 最佳答案 第 1 步:启用 Google+ API http://localhost:4567
我是一名优秀的程序员,十分优秀!