2017-04-10 202 views
0

我想知道,git中是否有一個選項可以進行我的更改,以便我可以繼續在其他PC /筆記本電腦上工作而無需其他任何人能夠拉動?Git只爲我承諾

例如,我正在研究其中一個分支(注意我不想創建新分支)中的功能,在我的臺式電腦上,因爲我沒有完成它,我必須去在某些地方呆了幾天,我想繼續在我的筆記本電腦上工作,但我不希望別人能夠拉動,因爲它沒有完成,它可能會導致一些不需要的行爲。

所以基本上,只爲自己承諾,後來當我完成時,我可以推送給項目中的其他人。

+0

爲什麼你沒有創建一個分支?這是說「正在進行中」的典型信號。 –

+0

因爲我不想每次我想從我的電腦切換到筆記本電腦時創建一個新分支。我理解分支的重點,我只是想知道是否有像我在問題中解釋的功能。 @ LasseV.Karlsen – Imaginaroom

+2

在多臺計算機上共享您的提交**只有**自己的唯一方法是在github上或其他位置設置自己的私有存儲庫,然後推/拉,或推入/直接在你的電腦之間拉扯。 –

回答

2

但我不希望別人能夠拉,因爲它沒有完成它可能會導致一些不需要的行爲。

該項目是公開的,不是嗎?所以當你最終發佈下一個版本的時候,提交將是可見的,不是嗎?所以他們不能包含任何非法或其他問題,他們可以嗎?他們唯一能做的就是打破狀態...

因此,如果有人想通過明確地從名爲for-testexperiment的分支中拉出代碼來拍攝自己的腳,那就是他們的問題,而不是你的問題。

因此,確實推送到分支。將其命名爲test(或for-testexperiment或類似的東西,但沒什麼特別,請)。我的意思是非常字面上的;分支將只存在,直到您在另一臺機器上測試!

推到這樣的分支是平凡:

git push origin HEAD:test 

然後在另一臺機器上,你只要把它:

git pull origin test 

和測試,並解決它。而當你完成並將其合併到實際的目標,你只是再次刪除測試分支:

git branch -d test 

擺脫當地分支機構,並

git push -d origin test 

擺脫了一在github上。

是的,您還可以設置遠程從一臺計算機直接推送到另一臺計算機。但是,這需要讓他們都在同一個網絡上運行,並有ssh連接或其他東西。然後你會想要問別人來測試它,無論如何你都需要test分支。

所以做一個test分支;分行很便宜。

與提交屬於分支的傳統集中式版本控制系統相比,這是一個很大的區別。在創造一個之前,你必須仔細考慮,因爲他們在那裏永遠呆在那裏。但是在分佈式系統中,分支只是修改的標籤,可以很容易地添加到已有的修訂版本中,並且在不再需要時可以輕鬆刪除。一旦你習慣了它,你會發現分支在git和其他分佈式系統中非常有用,然後他們以前是在舊系統中。

+0

它怎麼可能是一個答案? hehehe –

+0

@MarceloFilho,因爲提問者幸運地解釋了他們爲什麼要做點什麼,他們看到的解決方案並不是最合適的。 「我如何使用X來做Y」形式的問題已經回答了「使用Z來代替」的形式,並且幸運的是這裏包含了「Y」,所以相應的「Z」可以被提供。是的,我可以解釋直接推動和東西,但這會支持創建臨時分支的非理性恐懼,這是一件好事,而不是可怕的事情。 –

+0

仍然認爲只是一個評論就夠了...對不起... –