2009-04-14 69 views
1

Bob和Alice獲得了ssh訪問RemoteMachine,他們與ProjectA一起工作。 假定Alice在她的家目錄中的回購在以下情況下與git協作的最佳做​​法是什麼?

RemoteMachine/home/alice/ProjectA 

而 Bob將首先克隆Alice的回購協議,以(與--bare是更好的可能)

RemoteMachine/home/bob/ProjectA 

Bob將不能直接在編輯項目A RemoteMachine。因此,也許他想從他的遠程Repos RemoteMachine/home/bob/ProjectA克隆到LocalMachine(爲什麼不bob直接克隆從愛麗絲?也許愛麗絲想直接從RemoteMachine/home/bob/ProjectA拉)。

git clone [email protected]:/home/bob/ProjectA LocalMachine/home/bob/PrjA 

我的問題是:

什麼是實現這一目標(見下文)的最佳實踐?

  • 我可以在本地編輯,並推到RemoteMachine /首頁/鮑勃也許有:

    本地/鮑勃/回購協議>混帳推

  • 我可以在我的LOCALMACHINE運行reset命令還是可以的反映到RemoteMachine/home/bob愛麗絲可以從

    本地/鮑勃/回購拉>的復位 - 硬HEAD^

  • 我可以獲取Alice在我的LocalMachine中更改的內容。

我不知道,如果這些需求是合理的,所以如果你發現它不,只是 建議你並解釋原因。如果你能在這種情況下使用git命令顯示工作流程,那將會很感激。

回答

1

如果您打算使用push,通常最好使用--bare從原始版本克隆的第三個存儲庫,並讓所有開發人員都推送到那裏。

0

您的工作流程對我來說聽起來很合理。你有Alice和Bob各自在RemoteMachine上擁有自己的「可共享」回購站,並且每個回收站都可以從那裏下到一個LocalMachine進行開發。當他們完成他們想要分享的內容時,他們可以將其推送到RemoteMachine上的回購站,在那裏對其他人可見。我認爲你遺漏的一件事是另一個由Qinn擁有的回購。當愛麗絲和/或鮑勃決定生產值得的東西時,他們推到奎恩的回購。奎因然後採取這一點,並通過他的嚴格測試等,並最終如果通過他推出了一個新的包。或者,Quinn可能是Hudson或CruiseControl等持續集成機器人,或者是自動構建和測試步驟。這個回購,歸Quinn或buildbot所有,也可能是Alice和Bob同時從同步其回購的地方 - 這是每個人都針對的「典型」代碼集。

你所描述的工作流程是好的,就它而言。我希望這個答案有幫助。

相關問題