2016-01-21 92 views
4

我在幾個月前用過php應用程序的bitbucket上得到了一個git repo。如何「連接」一個git倉庫而不克隆它?

我現在有一個新的服務器,我想連接該應用程序在該存儲庫上的本地文件夾。對我來說,挑戰在於本地版本現在比bitbucket版本更新。我是git的新手,我發現的指示總是意味着我們首先克隆回購。我不想先覆蓋本地文件。

+0

本地目錄是git存儲庫本身嗎? (它有一個'.git'目錄嗎?)如果不是這個代碼來自哪裏?您是否試圖在舊版本庫上推送這個新代碼? –

+0

的舊代碼庫的新代碼的確如此。 –

+0

從非git目錄開始並推送到同一項目的git存儲庫是一項不重要的操作(雖然不困難)。沒有一種自動化的方式來做到這一點。 –

回答

4

我想你想添加或更改遠程。改變默認的遠程使用git remote set-url origin <url>或添加一個新的遠程使用git remote add

+0

這允許您將更改拖入現有回購(可能爲空),但最終與克隆沒有太大差別;至少,特別是對於非專家用戶。 – tripleee

+0

@tripleee如果當前代碼有一個遠程的某個其他倉庫,而不是根本沒有被git管理或者沒有本地代碼,那麼它就不同了。 OP可能在這種情況下,或者他們可能沒有對當前代碼的git-management不清楚。 –

+1

使用你的提示,我做了一些語法搜索,最後做了: 'git init' (因爲的確如此,不是.git目錄) 然後 'git remote add Yii-Mailnetwork https:// name @ bitbucket .org/name/name.git' 我做了一個推動,它的答案是:一切都是最新的 但是**沒有任何東西真的被推送**。 –

1

如果你有一個文件的本地(非git revisioned)目錄和同一項目的git倉庫,並且你想更新git倉庫與本地文件的內容,然後你需要克隆資料庫到自己的目錄,然後手動複製克隆目錄頂部的所有本地文件,然後添加,提交併推送新的內容/更改到遠程git服務器。

$ git clone https://[email protected]/name/name.git 
# If the directory structures are identical then you might be able to do this with a single `cp`. 
$ cp -r /path/to/local/code/* name 
$ cd name 
$ git status 
# will show all the changed files, added files, etc. 

然後你使用普通的Git操作添加和提交更改,然後把他們都當你完成。如果你想要一個大的「更新的東西」提交,你可以批量添加和提交更改,但我強烈建議避免,如果可能的話(至少使存儲庫歷史保持略微理解和理解),在這種情況下,你可以創建原子用git add -p等提交了更改內容。