回答

收藏

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

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

如何将我的本地分支重置为远程存储库上的分支?# d  S# V3 L$ k5 q
我做了:
# i" i# r/ w% M$ Ogit reset --hard HEAD但是当我运行一个的时候git status,
) [8 s8 g  h9 K) q% D( `; i; `5 n  bOn branch masterChanges to be committed:  (use "git reset HEAD ..." to unstage)      modified:   java/com/mycompany/TestContacts.java      modified:   java/com/mycompany/TestParser.java你能告诉我为什么我有这些修改吗?我没有动过这些文件?如果我这样做,我想删除它们。
6 n+ a# h+ t# A% q; J                                                                % t& p2 f# C# N. F9 i, ^
    解决方案:                                                                  P0 u6 U$ x# D+ s8 R" _' I
                                                                将分支设置为与远程分支完全匹配可分两步完成:
# I6 C/ V1 ]& K7 qgit fetch origingit reset --hard origin/master若要在执行此操作前保持当前分支状态(以防万一),则可执行以下操作:6 S* S8 e! z' g' _1 O: k8 Z  B8 V
git commit -a -m "Saving my work,just in case"git branch my-saved-work现在,你的工作已经保存在my-saved-work在分支上,防止你决定恢复(或者以后想查看或者比较更新的分支)。; ?7 z# t. y8 e) U% ?; Q
请注意,第一个例子假设远程仓库的名称是origin而且远程仓库也叫master分支与当地仓库签署的分支相匹配。, X5 M! @$ u6 @' P; k
顺便说一句,你所处的情况看起来很常见,其中推送已经完成到当前非裸体存储库的检测分支。你最近把它推到你当地的仓库了吗?如果没有,那就不用担心了——这些文件一定是由于其他原因意外修改的。否则,你应该意识到不建议推到非裸体存储库(特别是当前签署的分支机构)。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则