簡體   English   中英

拿一個當前的Git分支並將其內容“重置”給Master

[英]Take a Current Git Branch and “reset” Its contents to Master

在工作中,每個開發人員都有自己的開發分支,即。 branch = dev_name_of_employee。 IE瀏覽器。 dev_jon

dev_jon有一個新功能,其中有超過100個提交,尚未准備好進行測試或部署,因此我創建了另一個分支,將該新功能放入名為staging_jon(可以稱之為holding_jon,無論如何)。

現在我需要從另一個功能開始並讓dev_jon包含master的內容。 有點回歸到掌握的東西。

如何在不刪除dev_jon及其遠程分支的情況下執行此操作,然后從master重新創建它? 我不能放棄所有這些變化,因為它們已被推動。

或者,在開發過程中,是否有更好的方法讓每個員工在他/她自己的一致分支上工作?

在dev_jon中,您可以:

git reset --hard master

可能不是直接適用/相關,但您可以查看GitHub流程: http//scottchacon.com/2011/08/31/github-flow.html

我不認為您當前的模型非常理想,開發人員應該能夠同時開發多個功能,因此每個開發人員只有一個分支不是最靈活的。 無論如何,在你的情況下,假設dev_jon正在跟蹤origin / master,我會做什么:

git reset --hard origin/master

這也假設您當前在dev_jon分支上。

希望能幫助到你,

您可以執行硬重置以使您的dev-jon分支與master相同,但是當您發布新工作時,您必須要小心。 遠程分支origin\\dev_jon將是您的舊功能,當您來推動時,您將收到如下警告

 ! [rejected]        dev_jon -> dev_jon (non-fast-forward)
error: failed to push some refs to '/tmp/example'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

考慮按照larsmans的建議創建一個功能分支。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM