2013-10-08 46 views
2

也許標題並沒有完全表達我的問題,但一點解釋就足夠了。我有這種情況,我正在與另一位朋友開發一個網站,我們使用Git來管理代碼的版本控制等。使用Git處理離線和在線開發的最佳方式

問題是,在家裏(對於我們倆)都很好,我們同步,然後我們提交更改並提交。但是在工作中(我們在同一家公司工作),我們的防火牆阻止Git,有時我們可以在這裏完成一些任務,但是無法檢索或推送更新到Git,我們如何讓所有與Git同步的東西都變得瘋狂?

經過幾次嘗試之後,只需將所有內容複製到隨身碟,然後嘗試在家中同步所有內容,並擰緊所有內容,最後管理一些「有點奏效」的東西,即使用xcopy和「較新的文件「唯一的選擇。但即使如此,有時也會造成混亂。

任何人都有過類似的情況?任何想法對我來說?謝謝。

+0

您正在爲工作或在工作之外工作的項目?你能否要求你的公司爲此提供或不提供? –

+0

工作之外。無法真正要求他們爲我打開防火牆規則。 –

+0

兩個詞給你:ssh隧道。 – jthill

回答

3

使用筆驅動器可以工作,但不是您使用它的方式。

您需要將筆驅動器視爲遠程處理器。所以,基本上你可以在筆式驅動器上建立一個裸倉庫並從它上面推輓。 Git會管理一切。

總之,這樣的事情:

# make repository in pen-drive: 
$ cd /path/to/pen/drive 
$ mkdir repo; cd repo; git init --bare 

而在你的倉庫(包括在家庭和工作):

$ git remote add pendrive /path/to/pen/drive/repo 

然後你可以推到/從pendrive以同樣的方式拉動你會做任何其他的遙控器。

不過,更合適的是要求你的公司不要阻止ssh到GitHub(除非你不應該在工作中做這些事情,在這種情況下,以及不要在工作中)。

+0

嗯,你是對的,我不應該。 :) 但是如果我的存儲庫也是我的工作目錄(本例中爲Apache中的htdocs),我該如何使用pendrive? –

+0

@ChristianDechery,我不明白你的意思是「工作目錄」,以及這是如何改變的。如果你編寫的目錄在'git'下,那麼你可以對它執行任何'git'操作。你使用pendrive的方式和使用'github'一樣(假設它是'origin')。如果你可以做'git push origin master'(但被防火牆阻止),那麼你也可以做'git push pendrive master'。唯一的區別是'github'有一個地址,例如'[email protected]:User/Repo','pendrive'有一個地址,比如'/ media/your_pen_drive_name/path/to/repo'。它們都由git平等地處理。 – Shahbaz

+0

對不起,我很困惑。在某些時候,我需要與github同步所有內容。如果我現在使用我的pendrive作爲推送更新的地方,我該如何實現?當我回到家時(我可以訪問的地方),我如何在家裏將pendrive的內容與本地回購同步,然後與github.com同步? –

1

你爲什麼不在筆驅動器上工作?你現在可以找到afordable但耐用pendrive,甚至有USB端口的SSD。

把你的Git文件夾放在上面,在經典的硬盤上備份它。你完成了。

相關問題