2012-10-26 78 views
0

我想與項目玩,所以git的克隆,並按照其指示,創建一個本地分支我的配置(我想,使用戶可以合併更新後)。混帳回購:揭開我的亂成整齊的分支

起初我只是調整以適應我的偏好,所以我沒有打擾任何進一步的分支,但現在我有一些可能對別人有用的代碼,但與我的密碼等在同一分支。

實際上,我有一個大的分支從中我想有:

  • Postgres後端(默認),但也有一些新的代碼我已經添加
  • MySQL後端(最大的變化我「VE製造)與相同的新代碼
  • 我的設置:我不能忽略的git的設置文件,因爲我偶爾需要添加部分新功能,但我必須保持我的個人設置了公共分支!我想這將作爲一個本地分支最好的工作。 好的。修正了這個但主要問題仍然存在。
  • 開發分支,我將從MySQL分支。

從頭開始,我想我能想出如何分支/合併各種更新,但有通過現有回購走,然後選擇一個容易方式其承諾適用於哪個分支?或者可能從上游點創建分支然後合併回來,排除某些提交?

+0

什麼是密碼?如果他們是爲了像本地數據庫這樣的東西,如果你把它放在裏面,它就沒有問題了。 –

回答

0

好吧,我找到了子彈。總之:

  1. 複製整個回購和工作目錄備份目錄
  2. 在備份目錄,我的最新分支選擇,用「git的日誌-p」 T0找到的第一個承諾擺脫的。
  3. git的變基-i〜1
  4. 變化在編輯器中「撿」到「e」(「編輯」),或刪除線,以清除整個提交
  5. 按照說明刪除從任何不需要的數據提交。
  6. 交換備份和主目錄。
  7. 現在,隨着閃亮的新工作目錄,創建任何所需的分支機構,從您的回購中的其他地方,或從您的新備份目錄中獲取所需的文件。

希望這會幫助別人。

0

我掛在「把我的密碼在源代碼管理」評論。這裏有一些想法,以避免這樣做,按優先順序排列如下:

  1. 如果你的程序不絕對需要的最基本功能的密碼,將其存放在密碼管理器(如KeePassX)和切在啓動時將其粘貼到您的實時運行程序中。

  2. 存儲它的服務器上的環境變量,讓你的程序中讀取它。每個OS都有環境變量,這可以讓你在每個服務器上使用不同的密碼。

  3. 使用強大的公鑰密碼學。爲您自己和應用程序生成公鑰和私鑰。使用您的私鑰和應用程序的公鑰加密您的密碼,以便只有應用程序私鑰才能解密它。然後讓項目維護人員對應用程序的私鑰執行一些安全措施(但是,除非安全加密,否則不會通過電子郵件或源代碼控制發送給它們)。這樣,你和你的應用程序就有你的密碼,沒有應用程序的私鑰,任何人都無法獲得它。

  4. 如果以上是可能的,你可以做#2配有一臺文件和密碼,手工填寫,當你安裝。

  5. 如果上述所有的都太辛苦了,你可能沒有一個安全的應用程序。考慮徹底廢除密碼,並公佈任何你正在保護的密碼。

+0

密碼是用於a)數據庫和b)在IRC上識別的。所以他們不是超級安全的密碼,只是不是我想要公開的密碼。 它們已經在單獨的.cfg文件中,但是當該文件的結構需要更改時,需要提交更新。所以,就我所見,一個小本地分公司仍然可以撤消所有的結構變化。 我想替代方案是隻提交模板文件,但這意味着每次進行更改時都要手動將其更改回去。而且,所涉及的密碼實際上並不重要。 – 2012-10-26 12:26:28

+1

經過反思,也許最好的解決方案是讓git忽略cfg並改爲更新模板。將更改應用於模板比將我的配置應用於真正的cfg更容易 – 2012-10-26 13:14:14