回答

收藏

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

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

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

本版积分规则