我使用多臺機器進行開發,因此需要一種「自我協作」的方式。因此,遠程存儲庫上的個人分支是有道理的。顯然,對於這個分支,我會推/拉很多(即每次我在特定的機器上開始/結束編碼會話)。我也喜歡在本地進行重新整理以壓縮/整理一些我的提交。我知道你不應該重定義已經推送到遠程倉庫的提交。然而,如果服務器上只存在我的私有分支(沒有其他人接觸到這個分支),那麼是否存在對服務器上存在的提交進行重新綁定的問題?如果僅在個人分支上重新推動提交
4
A
回答
4
那麼,混帳並沒有真正有這個問題。事實上,git自己的開發過程涉及公共服務器上的一個分支,這個分支經常被重新設計(就像每一天左右)。只要每個使用該分支的人都知道它經常被重新設計,那也沒關係。
但是,您需要記住,您將擁有該修補程序的舊版本和新版本,但沒有明確指示哪一個會取代哪個修補程序。你可以很容易地通過強制將分支推回來,當你重新綁定分支並因此完全丟棄舊版本。
1
如果你有一個本地分支,你經常推送到一個遠程倉庫,但沒有人會直接使用(即不會檢出或從你的克隆分支合併),那麼可以將你的本地分支重新綁定爲很多時候,你想要/需要。
但是,這假設一個很好的命名約定來識別這樣的「私人分支」。
而且這也假設你有權利用本地(私人)分支的重寫歷史記錄來強制推送(push -f)以覆蓋自己的(遠程私人分支的)歷史記錄。
最後一點並不明顯,因爲共享回購往往禁用那種推,避免「意外」(除非你有某種ACL管理像Gitolite的)
相關問題
- 1. 將推動提交到新分支
- 2. git rebase分支後推新提交
- 3. 推動提交到一個新的分支(wordpress)
- 4. 如何在無關分支之上重新應用提交?
- 5. 合併分支與先前在主分支上提交的方法,然後稍後重新提交主提交
- 6. git只推送一個分支提交
- 7. 移動一些已經存在並推送提交到一個新的分支
- 8. 在一個分支上展開提交
- 9. git:推送單個提交,重新排序,重複提交
- 10. 更新其主分支上新提交的分支?
- 11. Git推送交叉分支,從一個分支獲取提交到另一個
- 12. 如何僅在一個分支的提交中使用`git bisect`?
- 13. 重新組織被推送的提交,從分支刪除另一個
- 14. 在提交之前將提交提交到新分支
- 15. 在推動上游變更之前重新劃分重組合並的分支
- 16. 如何從多個提交中推送多個分支?
- 17. 提交到一個新的Subversion分支
- 18. 如何在壓扁後重新壓縮提交原始分支?
- 19. 我在不存在的分支上添加並提交了;我如何把這個提交到分支上?
- 20. bitbucket重新綁定上一次提交的分支
- 21. 如果不在分支上禁用提交
- 22. 推送提交到我的分支在啓動板
- 23. 在一個分支上計數提交不在另一個分支上
- 24. 如何推動批准提交從一個分支到另一個分支在bitbucket
- 25. 將提交從一個分支移動到另一個分支
- 26. 如何提交更改到新分支
- 27. 將功能分支重新映射到另一個分支的特定提交
- 28. 僅重置一個分支
- 29. Subversion將未提交的更改提交到一個新分支
- 30. 用另一個分支提交更新我的git分支
共享的回購不會禁用力推動不很管理員明確地安裝鉤子(作爲示例提供,但仍然必須手動執行)或使用某種工具(如Gitolite)來完成。 – 2011-05-30 14:10:25
@Jan:a /因此單詞「經常」,b /您不需要任何鉤子或可執行文件或者Gitolite來禁用它:'git config receive.denyNonFastForwards true'就足夠了。 +1你的答案順便說一句(我沒有看到它在當時) – VonC 2011-05-30 14:14:05
我使用Gitolite和管理員。所以我可以強制推送,也可以強制執行我自己的分支的私有權限,以防止任何人意外地使用它。這個分支的命名規則也相當明顯。好點但要提到。 – Dan 2011-05-31 11:27:03