我有一個項目有兩個分支foo
和baar
。在這個項目中,我有一個配置文件database1.properties
和database1.properties
,其中存儲了數據庫屬性,例如模式名稱和模式密碼。當我在foo分支上工作時,模式名稱是foo,密碼是foo,當我在使用baar分支時,模式名稱是baar,密碼是baar。如何告訴git這些屬性文件只用於我的本地系統,不應該推送到原始回購?我使用egit和tortoiseGit。如何在本地使用git版本文件
回答
對於單個分支,您無法阻止所選文件被推送。
當分支被推動時,所有提交將被推送到遠程。
正如你可以讓你在不同分支的變化(具體以當地)(foo-local
,bar-local
等),只要你想在本地系統中的這些變化,使用git merge local-branch --no-commit --no-ff
或類似的命令合併到實際分支一種變通方法(這將不要將您的本地特定更改合併到遠程跟蹤分支)。完成後,您可以放棄這些更改(但是,這些更改將始終存在於本地分支中,並且可以隨時應用於實際分支)。
路1 - 調整基線不斷
假設有3個分支:
master
公衆boo
私人baar
私人
事情是這樣的:
你開發了master
分支的東西,那麼就重訂高手foo和巴爾分支。你需要(1)結帳foo
,(2)調整基線foo
到master
,(3)結帳baar
,(4)調整基線baar
到高手,那麼它將成爲:
注意:有一再重複這些步驟。
方式2 - 合併
假設相同的3個分支。
結帳foo
,併合並master
到foo
:
請在baar
分支samething,最後你將得到:
開發了一些在主後,再次執行這些步驟,並獲得:
方式3 - 子模塊
以上2種方式是有點危險的,如果你把所有的分支遠端。這種方式更復雜,你需要知道如何使用子模塊,但我更喜歡它。 :)
(1)準備專用數據庫的數據倉庫,您可以檢出foo
/baar
之間的分支。
(2)準備另一個正常/簡單回購容器,是這樣的:
(3)然後加那個數據回購作爲一個子模塊進入這個回購:
你將得到這些承諾後:
(4)同樣,添加公共回購,這裏命名test
,作爲一個子模塊:
現在,你可以在test
回購開發和數據回購的另一邊檢出的分支。
注1:需要調整好路徑。
注意2:如果你不喜歡子模塊,你可以使用一個文件夾作爲容器,然後把這兩個回購。
路4 - 合併沒有提交或壁球
由於this answer(由@Royal平託)說,我在這裏展示的TortoiseGit操作。
注:私有數據已經上演到索引文件。以便下一個提交命令將它提交回購。
- 1. 如何最好地使用文件版本和組件版本?
- 2. 使用本地文件的git版本控制
- 3. 如何在本地提交Git文件?
- 4. 如何使用頭版本同步本地文件?
- 5. GIT:同步本地文件到新的github版本庫
- 6. 如何用SVN版本庫中的版本替換本地文件?
- 7. 使用Git,如何從本地存儲庫獲取文件?
- 8. 如何在TFS中保存本地版本的文件?
- 9. 如何在mix.exs文件中指向本地elixir版本?
- 10. 推送時使用的是本地或遠程版本的git?
- 11. 本地和生產版本的PHP和MySQL使用git
- 12. 使用Git管理WordPress的本地,dev和live版本
- 13. 如何使用publishLocal覆蓋本地穩定版本工件?
- 14. Erlang:在[本地]版本上使用run_erl?
- 15. 如果新版本可用,更新本地軟件包文件
- 16. Git本地開發者現場版本如何?
- 17. 如何在本地文件
- 18. 如何將版本化文件手動移動到git(版本控制)?
- 19. 本地版本控制php文件
- 20. 如何加載JavaScript文件的本地版本而不是遠程版本?
- 21. 如何在git中檢查文件的最新版本號?
- 22. 如何在git中獲取文件的版本樹?
- 23. 如何在git中列出版本化文件?
- 24. 如何在git中籤出舊版本的文件夾
- 25. Git版本分別控制版本庫中的文件
- 26. 使用tortoisesvn製作在線版本庫的本地版本
- 27. 在Netbeans中使用git的版本號
- 28. 使用GIT更新本地文件服務器上的文件
- 29. 如何使用svnkit列出本地修改/未版本化的文件?
- 30. 如何保留我的本地版本的文件,而不使用.gitignore?
也許你應該已經克隆本地項目... –
也許只是不'git的add' – Black
添加它們,並將它們添加到的.gitignore –