2010-02-09 43 views
5

我在git的世界是一個新手,我想請問怎麼解決我的工作流程問題,基本上我有2臺電腦,一個辦公室,一個在家裏,我也有一個vps作爲我的git共享庫。當我在辦公室工作時,我有未完成的代碼,我想繼續在家工作,所以通常我會先在辦公室提交,並將我的工作推到git共享存儲庫中,之後我將在家中退出,繼續吧。Git的 - 保留工作,無需提交

但是有時候,我只是沒有直接回家,與此同時,我的同事之一,拉動代碼並使用它,他只是吼我,因爲我犯了破壞的代碼。所以我的問題是,如何在沒有提交的情況下更換電腦,但我仍然沒有完成我的工作?

+6

不要將其推入共享回購站並直接從您的工作回購中拉入;選項二,建立你自己的'中央'倉庫,或者第三個選項工作一個分支。無論你看起來更自然,但你仍然必須承諾。 – falstro 2010-02-09 10:46:05

回答

11

做你自己的分支上的所有工作,讓您的同事不知道從該分支拉。如果你有很多開發人員,這可能會變得混亂,但只有兩個人,它應該不是問題。

+0

在你自己的分支工作也允許你重置/重新定義/刪除提交 - 無論你想要做什麼 – knittl 2010-02-09 10:52:53

+0

這並不重要。即使您確定您是唯一使用它的人,也不應該重置/重新署名/刪除您推送的提交。如果你還沒有推動,你可以自由地rebase等別人的分支,而不會造成任何麻煩。 – kubi 2010-08-31 16:42:20

0

正如kubi所說,使用一個私人分支。如果您不想將損壞的代碼推送到存儲庫中,則可以將修改作爲補丁(使用git format-patch)發送給自己,將其應用於家中並從那裏開始工作(使用git apply

還請記住您可以使用git commit --amend覆蓋一個適當的「半焙烤」提交,讀取推送到共享倉庫。

2

當我在一個項目中工作時,我使用自己的分支。所以,如果我有尚未完成的代碼,我會將它提交給我自己的分支。當我認爲這個代碼已經可以使用時,我將它提交給一個通用的工作分支。在測試它之後,我們將它合併到主分支。

例如:

主分支:由大家測試。 WIP分支:常見工作正在進行分支,每個分支都可以使用該代碼並對其進行測試。 WIP-Bright:我自己的分支 WIP-someone:別人的分支。

使用此git cheatsheet化妝用git輕鬆了許多工作。

0

如果不能建立網絡和資料庫,讓您可以在下班回家的推拉工作(見「我怎麼會用‘混帳推’同步的是,我不能拉主機? 「在GitFaq頁上的Git維基),並且你也不能設置自己的裸‘出版’使用你的工作和家庭之間excahnge,看看git bundle,這是爲離線(sneakernet)運輸倉庫。

這可能是不直接回答你的問題,但我希望這將有助於。