【问题标题】:How to use git to modify an open source project and let other people update the project without losing my changes如何使用git修改一个开源项目,让其他人更新项目而不丢失我的更改
【发布时间】:2010-09-05 01:16:15
【问题描述】:

所以,我想对 status.net(一个开源 Twitter 克隆)进行一些更改。

假设我想让人们可以在他们的“推文”中添加字体。

但是,我想继续从 status.net 人员那里获得更新...假设他们进行了一些更改并修复了一些安全漏洞或添加了新的辅助功能。

所以,我想要

git clone <url to status.net repo>

然后呢? :)

如何进行更改,将它们正确存储在 git 中,并与来自“网络”的新更改正确合并(?)?

与“(在此处进行更改)”交织在一起的一系列命令对我有很大帮助。

谢谢!

【问题讨论】:

    标签: git version-control open-source


    【解决方案1】:

    要进行更改,您首先要戴上程序员的帽子,做您一直在做的事情。我真的帮不了你:-)

    接下来,您需要提交更改。要提交,只需说:

    $ git commit -a # -a means "automatically stage all changed files git knows about"
    

    并在提示符处键入描述性消息。请注意,git 中的“提交”不会 公开您的更改。它只是提交到存储库的本地副本;在你git push 以后没人会看到它。

    要将其他人所做的更改合并到您的存储库副本中:

    $ git pull
    

    如果您可以直接访问存储库,则可以通过以下方式将您之前所做的 git commits 公开:

    $ git push
    

    否则,您可以将提交转换为补丁并将它们发送给您友好的维护者:

    $ 混帐日志 提交 75b17eeca0394e27759acf2f6b039851a5a28f98 作者:你的名字 日期:2010 年 8 月 10 日星期二 01:10:19 -0400 做了一件了不起的事。 提交 f9f677a465a5746874dc2f2c86cc444ffa28a020 作者:你的名字 日期:2010 年 8 月 6 日星期五 04:06:01 -0400 修复了我的一个可怕的错误。 $ git show 75b17eeca0394e27759acf2f6b039851a5a28f98 > wonderful.diff $ git show f9f677a465a5746874dc2f2c86cc444ffa28a020 > fix.diff

    最后,如果您想将新文件添加到存储库,请说:

    git add foo.html # don't forget to git commit -a like you would any change
    

    要删除文件,您可以像往常一样简单地删除它们(使用rm shell 命令),然后git commit -a 进行更改。

    【讨论】:

      【解决方案2】:

      以下链接似乎处理了所有细节: http://status.net/wiki/IntroToUsingGit

      目前尚不清楚您是否希望其他人看到您的存储库,以及您是否希望最终将更改推送回 status.net 主 git 存储库,以便集成商将您的更改合并到主干中。

      【讨论】:

        【解决方案3】:

        除非您是受信任的开发人员,否则您可能无法将更改推送回来。在这种情况下,您将向他们发送“拉取请求”。这篇文章告诉你如何做到这一点:http://www.kernel.org/pub/software/scm/git/docs/git-request-pull.html

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-25
          相关资源
          最近更新 更多