在此页面上尝试了接受的答案:As of Oct 5, 2016
但问题是,主人没有需要进行任何更改,我创建了分支:git push self mybranch:master
当我尝试http://localhost:8983/solr/your_index/select?wt=json&indent=true&fl=your_field1,your_field2&q=your query here&group=true&group.field=type
它告诉我一切都是最新的。但我知道。我只想将分支复制到另一个分支,以便它具有主分支的当前状态。它永远不会再被触及。
我将来只会从主分支出来。这个其他分支永远不会被触及。但我需要将其存档,以便在需要时,我可以切换到该分支并在任何时候将其恢复...
如何在不创建新回购的情况下复制主分支?
答案 0 :(得分:1)
要标记历史记录中的特定点,您应使用 tags ,而不是“废弃”分支。
答案 1 :(得分:1)
如answer by Zoli Szabo所述,您应该使用tags标记历史记录中永不移动的事件。要创建标记,只需提供其名称和应指向的提交。如果您提供分支名称而不是提交哈希,则标记将指向此分支的当前提示。
git tag mytag branch
git tag mytag 123ab45ef
但是要回答你的问题,如果你想让你的分支反映当前的主人状态,你有一些选择:
git branch -f mybranch master
,然后推送分支git push origin master:mybranch
(-f
,如果您需要强制更新)。小心,因为这可能会给其他人带来麻烦ours
策略(-s ours
)合并,以创建具有所需状态的新提交。然后推送到远程存储库。如果您只是想更新本地存储库,请合并分支(如果我能正确理解您的问题,应该导致快进,或者进行本地推送。)
git checkout master; git merge mybranch
git push . mybranch:master
推送是快进合并的反向(目标和目标分支切换)。
选择:)
答案 2 :(得分:0)
您不能拥有两个指向不同提交的主分支。分支仅指向一个提交。要保存此分支所在的位置,请在其上创建标记,或创建新分支。您可以在名称MYSUBDIR / master下保存一个分支,在名称MYOTHERSUB / master下保存另一个分支。
在远程'self'上创建一个分支'MySave / master',其尖端与本地mybranch相同。
git push self mybranch:MySave/master
假设您当然拥有适当的权限。您可以通过以下方式查看两个分支的状态:
git log --oneline --decorate -9 mybranch self/MySave/master
git fetch self self/MySave/master
更新'self / MySave / master'(但不是你的本地'mybranch',用于拉动)