2015-11-06 45 views
2

我在主機上運行兩個虛擬機,我將代碼從主機操作系統複製到每個來賓操作系統,以便我可以編譯模塊並在內核中加載/測試。我可以在提交之前使用git做多次推拉工作目錄嗎?

主機操作系統加載了tools/utils/desktop,但每個虛擬機都是簡單的,除了編譯器,幾乎沒有工具和腳本,其他都不多。所以我的過程是在主機上更改代碼,並複製到每個guest虛擬機以編譯,加載,測試。如果我對客人進行了更改,我只需將其複製到主持人和其他客人。

所以現在我已經轉換到使用git,我把相同的代碼放在主機上,並且想知道是否有辦法從我在主機上做的更改中拉出來(無提交),以及那麼我所要做的就是讓git把他們拉過來,然後我可以把他們推回去。在我準備好在主機上提交之前,客人和主持人之間有很多推拉動作。

如果git可以做到這一點,那對我來說很好。可能?

+0

推送同步提交。如果你沒有在提交中捕獲你的工作,那麼拉和推就不會做任何事情。也許你想要分支?將你的工作交給一個分支,然後你可以按照你的喜好多次推/拉分支,然後把它合併到主。 –

回答

1

由於Paul Hicks already noted in a comment,推送作品提交,所以如果你沒有實際的提交,沒有什麼新的推動。

還值得注意的是pull不是真的。或者更準確地說,這是兩個的東西。 pull腳本只是做git fetch後跟git merge的便捷快捷方式。這是git fetch步驟與另一個(遠程)git會話,並且也基於提交工作。 (您可以配置git pull以使用git rebase而不是git merge,通常您應該這樣做 - 或者簡單地自己執行兩個步驟:git fetch,然後根據需要檢查結果後,根據需要檢查git rebasegit merge。將兩個步驟分開可讓您看到通常不需要先看,但如果你願意的話,比以前看起來要容易得多)

在大量的臨時提交中進行大量提交沒有任何問題分支,然後使用最終版本在「真實」分支上進行「真實」提交。 Git直接使用squash merges來支持這個。一旦完成了壓縮合並,您可以刪除臨時分支。或者,如果您想保存所有中間工作,請定期(非南瓜)合併,然後再次刪除臨時分支。

相關問題