2016-11-29 65 views
1

我有一個包含源代碼的本地目錄,減去.git文件夾,所以它沒有git集成。我想添加遠程並拉下任何更改。我試過git init && git remote add origin https://...,但是它想要我做一個初始提交。由於有一個現有項目,我不想進行初始提交。將git remote添加到本地源

如何添加遠程回購遠程並在沒有初始提交的情況下下拉更改?

+0

[首先谷歌結果。](http://www.thehorrors.org.uk/snippets/git-local-filesystem-remotes/)它是否工作? – Brian

+1

我認爲一個更簡單的方法是以相反的順序進行。 首先將遠程存儲庫克隆爲具有* .git文件夾的本地副本,然後將更改複製到現有存儲庫中。 – Lix

回答

2

更容易將是:

git clone /url/remote/repo 
git --work-tree=/path/to/source add . 
git commit -m "update repo with local source" 
git push 

訣竅是使用git --work-tree=<path>選項,以添加不屬於當前本地回購worktree文件。

-1

我想添加遠程並拉下任何更改。

您可以將本地目錄變成Git存儲庫,添加遠程並獲取其內容。

git init 
git remote add origin repo-url 
git fetch origin master 

當你說「拉下任何改變」這似乎表明,你沒有本地更改, , 你只是想了解最新的遠程回購。 如果是這樣的話,你可以在本地回購硬復位到遠程, 丟棄任何地方的差異:

git reset --hard origin/master 

結果,本地目錄將是最新與遠程回購, 這將是一個適當的Git回購目錄.git

+0

你不能在沒有作爲git倉庫啓動的文件夾中運行git命令。 OP聲明他的代碼位於沒有'.git'文件夾的位置。 – Lix

+0

@Lix我明白他已經做過'git init'的問題。也許我誤解了。我現在澄清了這一點。 – janos

0

你走在正確的道路上。但是,要回答你的問題,你不能,至少不是沒有克隆/分叉。如果您只是將代碼添加到已存在的回購協議中,並且您是該回購協議的協作者,則可以分支回購協議,添加代碼並向所有者提出請求,將分支合併到主服務器中。

如果你是項目中唯一的開發者,你的init提交和隨後的推送只需將項目添加到服務器,從而啓動版本控制的git魔力。