2015-03-19 126 views
0

我正在開發一個項目,我們已經達到了一個里程碑。我的git倉庫是最新的,一切工作正常。我們的客戶現在更新了他們的API,我們不確定它會如何影響我們的代碼。Git - 如何將本地存儲庫添加到新分支

我想要做的是創建一個分支(已完成)並上傳完整的存儲庫到分支。所以我會把項目複製一份,一份在主文件夾中,另一份在新分支中。然後,我將繼續工作並致力於新分支,而不改變主分支。因此,對於每個版本,我都可以做同樣的事情,所以如果有任何問題,我們可以回到以前的分支。

有人可以告訴我怎麼做這個請。我正在使用Git,我正在通過一個mac終端進行工作。

我已經通過了相關的問題,但我沒有看到我需要的信息,或許我錯過了它。

+0

「上傳的完整存儲庫分支」沒有任何意義我。你有一個倉庫,它有分支機構。您不能將存儲庫放入分支,這是相反的方式。 – Gauthier 2015-03-19 10:29:19

+0

也許你過去一直在與mercurial合作?在那裏,分支存儲在不同的文件夾,IIRC。在git中不是這樣。你有一個分支,當你結帳時它會更新你的本地文件。沒有重複。 – Gauthier 2015-03-19 10:32:56

回答

0

假設您在主回購庫中創建的分行是<main_repo_new_branch>。然後這些步驟將是:

cd <local_repo_dir> 
git remote add mainrepo <main_repo_dir> 
git push mainrepo <local_repo_branch>:<main_repo_new_branch> 
cd <main_repo_dir> 
git checkout <main_repo_new_branch> 
1

您不上傳存儲庫到分支。

您的代碼存儲在存儲庫中,並且存儲庫具有分支。沒有重複,但你可以得到(結帳)主或分支設置你的工作文件到你想要的版本:主要用於未經改動的變化,分支爲你最近的變化。

一如既往的好,當你已經達到了一個里程碑,做的是標籤的承諾:

$ git tag v1.0 

然後從那裏你可以開始一個分支上集成新的API

$ git checkout -b client_api_update 

攜手並在您的分支中提交。它不會影響master中的內容,當您想讓工作文件與您的里程碑版本(或檢出標籤)一樣時,您可以檢出這些內容。

當新API的整合完成,現在是時候你的分支合併到主以釋放支持新的API:

$ git checkout master 
$ git merge client_api_update --no-ff 

--no-ff是可選的,但我認爲它使一個更優雅的歷史。

你是在一個新的里程碑,所以標籤:

$ git tag v1.1 

這裏是你的歷史會是什麼樣子:

/- v1.0   /- v1.1 
A---B------------------G - master 
    \---C---D---E---F-/ - client_api_update 
+0

接過我的嘴,併爲--no-ff提示+1 – mephisto 2015-03-19 10:45:23

相關問題