由于分支或多或少只是一个标记,它会自动移动到新的提交,我想知道我是否可以修改这个“标记”。
示例:
master
A -- B -- C -- D
git checkout master
与git checkout D
我可以将master更改为指向提交B吗?
master
A -- B -- C -- D
git checkout master
现在与git checkout B
使用案例
想象一下有人将一个提交推送到在线存储库。当我执行git fetch
时,我将此提交设置为本地,但我的主分支仍然指向提交之前,而origin / master指向新提交。我只想将本地主分支移动到与origin / master指向相同的提交。
所以,我不必合并。
感谢您的帮助
答案 0 :(得分:8)
重新创建分支以指向提交
git branch -f master D
使用git branch
代替git reset --hard
甚至可以保留您的工作目录。
答案 1 :(得分:1)
这应该有效:
git reset --hard origin/master
答案 2 :(得分:0)
我找到了另一个解决方案:
git fetch
git checkout origin/master
git branch -d master
git branch master
对我来说更合乎逻辑
答案 3 :(得分:0)
knittis解决方案的注释:
在调用重新创建branchname(master)以指向提交
之后git branch -f branchname D
不要忘记通过以下方式同步HEAD和branchname(master):
git checkout branchname