回答

收藏

将本地存储库分支重置为就像远程存储库 HEAD

技术问答 技术问答 485 人阅读 | 0 人回复 | 2023-09-11

如何将我的本地分支重置为远程存储库上的分支?( t; i! ]# e) l  O% u
我做了:$ d( t, n& I1 ?7 C
git reset --hard HEAD但是当我运行一个的时候git status,
# G2 Z, Z& J$ }. K4 OOn branch masterChanges to be committed:  (use "git reset HEAD ..." to unstage)      modified:   java/com/mycompany/TestContacts.java      modified:   java/com/mycompany/TestParser.java你能告诉我为什么我有这些修改吗?我没有动过这些文件?如果我这样做,我想删除它们。
! z* F( s* _. _                                                                # H9 `4 L* ]  S5 G
    解决方案:                                                                2 ]8 G: i. o9 G! ~0 Q- _' ]
                                                                将分支设置为与远程分支完全匹配可分两步完成:6 Q3 b! n8 h, Q1 D! R. f
git fetch origingit reset --hard origin/master若要在执行此操作前保持当前分支状态(以防万一),则可执行以下操作:
4 ?' i8 z3 {5 N8 M0 J+ Sgit commit -a -m "Saving my work,just in case"git branch my-saved-work现在,你的工作已经保存在my-saved-work在分支上,防止你决定恢复(或者以后想查看或者比较更新的分支)。& R, b6 O, E0 \
请注意,第一个例子假设远程仓库的名称是origin而且远程仓库也叫master分支与当地仓库签署的分支相匹配。. o& k2 [- n/ u  S
顺便说一句,你所处的情况看起来很常见,其中推送已经完成到当前非裸体存储库的检测分支。你最近把它推到你当地的仓库了吗?如果没有,那就不用担心了——这些文件一定是由于其他原因意外修改的。否则,你应该意识到不建议推到非裸体存储库(特别是当前签署的分支机构)。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则