我想爲項目保留兩個單獨的git遠程存儲庫(同時擁有一個本地副本)。一個應該是開發庫,一個應該是代表性的公共存儲庫。我希望公共存儲庫僅包含選定的狀態,即我只想提交穩定版本而沒有小提交的中間歷史記錄。就我所瞭解的Git而言,如果我時不時地提交到公共存儲庫,它會自動更新提交的整個歷史記錄。有沒有解決的辦法?如何爲所選提交(狀態)保留第二個git遠程存儲庫
回答
我的問題的答案是基於@Andomar的回答和@Michael Durrant推薦的博客文章。
不同的分支可以被用於釋放(master
),顯影(development
),修補程序(hotfix
)等每個分支可以被推到不同的遠程倉庫 - 公共酮(origin
)或一個用於發展( dev
)。
的策略應該是致力於發展變化的development
分支,並將其推到dev
遠程倉庫:
$git checkout dev
...do some changes...
$git commit -m "some development change"
$git push -u dev development
達到後一個新的釋放點的development
和master
分支機構應使用--squash
合併,它在一次提交中將所有對開發分支的提交打包,這阻止了開發歷史出現在主分支上。
$git checkout master
$git merge --squash development
$git commit -m "<new release message>"
$git push -u origin master
這將導致一個提交上origin
將包含所有自上次發佈以來的發展變化,從而隱藏包含在dev
的發展歷史。
認爲「選定的歷史」而不是「選定的提交」。 git push
默認選擇加入分支機構,因此您可以選擇僅將stable
分支(例如)推送到特定的遠程設備。然而,如果不推送一個分支,就不能推送一個分支 - 分支的頭部提交由其父,子內容(又名「樹」)和一些元數據(作者,提交者,消息等)定義, 。
典型的解決方案是爲此創建兩個分支,例如development
和master
。你可以把唯一掌握公衆資源庫和git push
:
git push (remote) master
爲了(remote)
只跟蹤默認master
,使用git remote:
git remote set-branches (remote) master
我建議使用的
http://nvie.com/posts/a-successful-git-branching-model/
戰略基本上你有一個開發分支的工作進行中和一個馬代表生產的代表分支。
此外,您可以針對個人功能,錯誤修復或雜事開發分支機構。
然後,將這些分支合併到開發分支中,您可以在其中進行集成測試,然後將其發佈到可以執行質量檢查的發佈分支。
準備發佈時,將發佈合併到主服務器並推送到生產服務器。
當您需要進行熱修復時,請將其發佈到發佈分支。
感謝您發佈此鏈接。它給了我很好的關於如何組織我的工作流程的想法。 – 2013-05-11 15:53:10
- 1. 添加第二個git遠程存儲庫並提交完整項目
- 2. 如何克隆git存儲庫並保留遠程控制?
- 3. 如何從遠程git存儲庫一次提交一個提交?
- 4. 從遠程git存儲庫中恢復未提交的提交
- 5. 如何提交到遠程git存儲庫
- 6. 關於多個遠程存儲庫的Git狀態
- 7. Git:從存儲庫中遠程提取
- 8. Git中的提交是否代表存儲庫的狀態?
- 9. 如何在django提交後保留複選框狀態?
- 10. 合併兩個git倉庫,保留所有提交歷史
- 11. 如何清理遠程GIT存儲庫?
- 12. 如何分組遠程GIT存儲庫
- 13. 如何更新GIT遠程存儲庫?
- 14. 指定遠程git存儲庫的提交模板
- 15. 1回滾本地和遠程git存儲庫提交
- 16. 在移動GIT存儲庫時保留GIT提交歷史記錄
- 17. 將所有遠程分支提取到裸Git存儲庫中
- 18. GIT:從第二個到第五個提交在遠程分支中刪除
- 19. 有沒有辦法在保留這些存儲庫的提交日誌的同時清理遠程存儲庫?
- 20. 同步兩個git遠程存儲庫
- 21. 如何防止用戶從遠程git存儲庫中刪除提交
- 22. 如何查看遠程git存儲庫中的所有分支
- 23. 遠程Git存儲庫如何配置爲推送,不提取或提取?
- 24. Git重置爲較早的提交併且不能識別遠程存儲庫
- 25. 如何在提交表單後保存複選框狀態
- 26. 如何將特定文件推送到git存儲庫,而本地提交不與遠程存儲庫同步
- 27. 如何將我的本地Git存儲庫移動到遠程Git存儲庫
- 28. 如何刪除推送到遠程存儲庫的提交?
- 29. 如何將更正的提交推送到遠程存儲庫?
- 30. 提交後保留所選下拉值
感謝您的回答。這讓我走上了正軌。 – 2013-05-11 15:52:11