2015-11-05 12 views
1

我已克隆this repo。 v1.7標籤不適用於我的代碼。但v1.6確實如此。使用較早的回購標記作爲推送主令不工作

我想使用v1.6。我嘗試了以下;

git checkout tags/v1.6 

我做了一個小改動,然後試圖提交給主人。

git add -A 
git commit -m "not my real message" 
git push origin master 

我收到消息「一切都是最新的」。當我去GiHub的私人回購時,它今天沒有顯示任何變化。就像,我沒有做任何事情。

我對git不是很有經驗,所以我不知道接下來要做什麼。

這個私人回購用於另一個更大的項目,並使用作曲家注入;

"private-repo/worldpay-lib-php": "dev-master" 

我怎樣才能以某種方式使用v1.6?

回答

1

當你簽出一個標籤,你在detached HEAD模式(git應該給你一個信息消息沿着這些線),這意味着你可以查看工作樹並測試你的代碼,但你提交的任何提交將不會推進任何分支。

要做到這一點,首先必須創建此標籤的分支:

git branch new_branch v1.6 

然後籤一個分支:

git checkout new_branch 

此時你可以暫存/提交併推送像往常一樣:

git add ... 
git commit -m "your real message" 
git push origin new_branch 

從你的問題判斷,你似乎分叉了一個存儲庫。如果你已經分叉的項目,你想你的叉子的主(不是一個武斷的分支稱爲new_branch)實際上從V1.6開始,從良好的上游項目的分歧,那麼你就可以繼續使用:

git checkout master 
git reset --hard new_branch # reset master to the state of new_branch 
git push origin master -f  # overwrite you're repo's master branch 

請注意,最後一項操作假設您不希望繼續跟蹤上游存儲庫(即您分叉的原始存儲庫)。

+0

「new_branch」是否應該安全刪除? (這是工作順便說一句,謝謝) – mikelovelyuk

+0

是的,你可以安全地刪除它。樂於幫助。 –