簡體   English   中英

如何使用git修改開源項目並讓其他人更新項目而不丟失我的更改

[英]How to use git to modify an open source project and let other people update the project without losing my changes

因此,我想對status.net(開源Twitter克隆)進行一些更改。

假設我想這樣做,以便人們可以假設在其“ tweets”中添加字體。

但是,我想繼續從status.net的人那里獲取更新。比方說,他們進行了一些更改並修復了一些安全漏洞或添加了新的輔助功能。

所以,我要

git clone <url to status.net repo>

那怎么了 :)

我該如何進行更改,將其正確存儲在git中,並與來自'net的新更改正確合並(?)?

與“(在此處進行更改)”交織在一起的一系列命令將對我有很大幫助。

謝謝!

要進行更改,首先要戴上程序員的帽子,然后按照自己的意願做。 我真的幫不了你:-)

接下來,您要提交更改。 要提交,只需說:

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

並在提示符下鍵入描述性消息。 請注意,git中的“ commit” 不會使您的更改公開。 它僅提交到存儲庫的本地副本; 在將來您進行git push之前,沒有人會看到它。

要將其他人的更改合並到您的存儲庫副本中,請執行以下操作:

$ git pull

如果您可以直接訪問該存儲庫,則可以使用以下方法將以前git commitgit 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進行更改。

以下鏈接似乎處理了所有詳細信息: http : //status.net/wiki/IntroToUsingGit

目前尚不清楚,是否要讓其他人查看您的存儲庫,以及是否要最終將更改推回status.net主git存儲庫,以便集成商將您的更改合並到主干中。

除非您是受信任的開發人員,否則您可能無法備份所做的更改。 在這種情況下,您將向其發送“拉取請求”。 本文告訴您如何做到這一點: http : //www.kernel.org/pub/software/scm/git/docs/git-request-pull.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM