如何使用git修改开放源码项目,并让其他人在不丢失我的更改的情况下更新项目

如何使用git修改开放源码项目,并让其他人在不丢失我的更改的情况下更新项目,git,version-control,open-source,Git,Version Control,Open Source,因此,我想对status.net(一个开源的Twitter克隆)做一些更改 假设我想这样做,人们可以在“推特”中添加字体 但是,我想不断从status.net用户那里获得更新……比如说,他们进行了一些更改,修复了一些安全漏洞,或者添加了一个新的辅助功能 所以,我想 git clone <url to status.net repo> git克隆 那么,什么?:) 如何进行更改,将它们正确地存储在git中,并将(?)与来自“网络”的新更改正确地合并 一系列命令与“(在此处进行更改)

因此,我想对status.net(一个开源的Twitter克隆)做一些更改

假设我想这样做,人们可以在“推特”中添加字体

但是,我想不断从status.net用户那里获得更新……比如说,他们进行了一些更改,修复了一些安全漏洞,或者添加了一个新的辅助功能

所以,我想

git clone <url to status.net repo>
git克隆
那么,什么?:)

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

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


谢谢

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

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

$ git commit -a # -a means "automatically stage all changed files git knows about"
并在提示下键入描述性消息。请注意,git中的“提交”不会使您的更改公开。它只提交到存储库的本地副本;没有人会看到它,除非你以后推它

要将其他人所做的更改合并到您的存储库副本中,请执行以下操作:

$ git pull
如果您可以直接访问存储库,您可以通过以下方式向公众提供您之前所做的
git commit
s:

$ git push
否则,您可以将提交转换为修补程序,并将其发送给友好的维护人员:

$ git log commit 75b17eeca0394e27759acf2f6b039851a5a28f98 Author: Your Name Date: Tue Aug 10 01:10:19 2010 -0400 Did something wonderful. commit f9f677a465a5746874dc2f2c86cc444ffa28a020 Author: Your Name Date: Fri Aug 6 04:06:01 2010 -0400 Fixed a horrible horrible error of mine. $ git show 75b17eeca0394e27759acf2f6b039851a5a28f98 > wonderful.diff $ git show f9f677a465a5746874dc2f2c86cc444ffa28a020 > fix.diff
要删除文件,您只需像平常一样删除它们(使用
rm
shell命令),然后
git commit-a
更改。

除非您是受信任的开发人员,否则您可能无法将更改推回。在这种情况下,您将发送种子给他们一个“拉请求”。本文将告诉您如何做到这一点:

以下链接似乎处理了所有细节:

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

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