我克隆了一个存储库并签出了一个分支,现在当我执行 a 时,git pull我看到了错误
hint: You have divergent branches and need to specify how to reconcile them.
Run Code Online (Sandbox Code Playgroud)
有没有办法解决这个问题而不需要重新定位或合并某些东西?是否有一些 git 命令可以使本地结帐达到与远程存储库相同的状态?
我不想保留任何本地更改,我希望本地分支与我试图拉取的远程分支完全相同。当地的变化我不感兴趣。
有一个工作正常的解决方法:
cd ..
rm -rf repo
git clone <repo-url.git>
cd repo
git checkout <branch>
Run Code Online (Sandbox Code Playgroud)
但也许有更简单的方法?删除完整的存储库花了很长时间。
再说一遍:我想要一个与遥控器上完全相同的分支。我不想合并或变基任何东西。我希望本地分支的状态与远程分支的状态完全相同。
joa*_*nis 15
git reset --hard origin/<branchname>
Run Code Online (Sandbox Code Playgroud)
如果您确实想放弃任何本地更改,而只是将本地分支设置为远程分支的状态,则需要进行硬重置。
假设您已经<branchname>签出了分支,并且您想要将其重置为原始版本:
git fetch
git reset --hard origin/<branchname>
Run Code Online (Sandbox Code Playgroud)
这将丢弃该分支上的任何本地提交,以及您在沙箱中本地进行的任何编辑。由于您正在考虑完全删除本地沙箱,我相信这正是您想要的。
也许以下过程有效:
您结账主要
git checkout main
Run Code Online (Sandbox Code Playgroud)
然后你删除你的分支
git branch -D <branch>
Run Code Online (Sandbox Code Playgroud)
您再次结帐您的分支机构
git checkout <branch>
Run Code Online (Sandbox Code Playgroud)
您可以执行git pull、git fetch等git st操作来检查所有内容是否都是最新的
| 归档时间: |
|
| 查看次数: |
12307 次 |
| 最近记录: |