2011-07-02 42 views
3

前一段時間我設置了一個github倉庫:https://github.com/LiamBailey/TweetSlider,帶有一個小小的jQuery腳本代碼,用於爲給定用戶提取最近的推文並將它們顯示在一個滑塊中。現在我已經添加了一些新功能,並且使它成爲一個jQuery插件。第一個版本稱爲TweetSlider v1,第二個稱爲TweetSlider v2.1。在新機器上重新鏈接一個Github倉庫

第一個問題:我應該怎麼做才能將這個新版本添加到github中,用新的覆蓋現有的代碼,或者爲新版本創建一個分支?

如果我應該創建一個分支,我已經找到了相應的文檔,並且可以設法做到這一點,但是如果我要覆蓋,這就是我認爲我應該做的事情,那麼我就有點麻煩了。

由於創建存儲庫,我更改了計算機,並且不再有權訪問原始存儲庫的本地版本。我如何重新連接到新的本地目錄並刪除現有的文件?一旦我知道如何做到這一點,我已經找到了文檔來重新提交新文件。

我希望有人可以幫助。

回答

4

頭號規則是:沒有一個版本控制系統:)

我不知道究竟怎麼了你開發的第二個版本永遠不會發展任何東西 - 你有它的Git倉庫版本控制下?你是否在第一個版本的提交的頂部創建了第二個版本?如果本地目錄是現有的Git倉庫(您可以使用git init命令建立),那麼您可以將GitHub添加爲遠程倉庫(可能會回答「我如何將倉庫重新連接到新的本地目錄」)。 。

git remote add origin [email protected]:LiamBailey/TweetSlider.git 

和你的資料庫的組織是由你 - 這取決於如果原來的版本仍然讓如果你想有必要使用,如果新版本有一些向後兼容性斷裂等

他們作爲單獨的存儲庫,去爲它。

如果要替換舊版本在同一個存儲庫中的新的,你必須選擇:

骯髒的方式 - 「備份」老版本的一些分支,並與提交掌握新版本。

git init 
-- copy the new version to this directory-- 
git add . 
git commit 
git remote add origin [email protected]:LiamBailey/TweetSlider.git 
git fetch origin 
git checkout origin/master -b v1 
git push origin v1 
git checkout master 
git push -f origin master 

清潔方式 - 克隆原來的回購,並同時開發的第二個版本,你做的邏輯步驟 - 分別關於該步驟應單獨提交。最後,你應該有新的版本提交良好的歷史。

git clone [email protected]:LiamBailey/TweetSlider.git 
cd TweetSlider 
-- make changes to your source code -- 
git add . 
git commit 
-- repeat until you have the second version -- 
git push origin master 
+0

當我嘗試運行此命令:-b V1它拋出一個錯誤的git結帳產地/主:以下未跟蹤樹中的文件會被檢出覆蓋:鳴叫,slider.js請移動或您之前刪除它們開關分支 –

+0

'git status'給你什麼?你在上一步中提交了所有文件,所以奇怪的是你有一些未跟蹤的文件。 –

+0

BTW在你的倉庫中有壓縮文件不是管理源代碼的好方法。 –