2010-09-05 59 views
1

所以,我想对status.net(一个开源的Twitter克隆)进行一些更改。如何使用git修改开源项目并让其他人更新项目而不会丢失我的更改

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

但是,我想不断从status.net的人那里得到更新......假设他们做了一些更改并修复了一些安全漏洞或添加了新的辅助功能。

所以,我会想

git clone <url to status.net repo> 

那么,是什么? :)

如何使我的更改,正确地将它们存储在git中,并正确合并(?)与来自'net'的新更改?

与“(在这里进行更改)”交织在一起的一系列命令将对我有所帮助。

谢谢!

回答

2

要做出改变,你首先要戴上你的程序员的帽子,做你一直都在做的事情。我真的不能帮你:-)

接下来,你会想提交你的更改。要提交,只需说:

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

并在提示符处键入描述性消息。请注意,在git中的“提交”确实是而不是公开您的更改。它只是承诺你的本地版本库;直到你将来没有人看到它,直到你git push

合并更改进入您的存储库拷贝其他人:

$ git pull 

如果你有到存储库的直接访问,可以使git commit是你做早期可与公众:

$ 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 

最后,如果你想新的文件添加到资料库,说:

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

要删除的文件,你可以简单地删除它们就像你通常会(与rm shell命令),然后git commit -a变化。

1

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

,如果你希望别人看到你的资料库,是不是在这一点清楚,如果你希望最终将更改推回到status.net主git存储库,以便集成者将主更改合并到主干中。

相关问题