我如何将我的本地分支重新设置为远程存储库的分支类似?
我试过:
git reset --hard HEAD
但 git 状态声明我有修改的文件:
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: java/com/mycompany/TestContacts.java
modified: java/com/mycompany/TestParser.java
将您的分支与远程分支相匹配,可以在两个步骤中完成:
git fetch origin
git reset --hard origin/master
如果你想在这样做之前保存你的当前分支状态(仅在这种情况下),你可以:
git commit -a -m "Saving my work, just in case"
git branch my-saved-work
现在你的工作存储在“我保存的工作”分支上,如果你决定你想要它回来(或者想稍后查看它或反对你的更新分支)。
请注意,第一个例子假设远程雷波的名称是“起源”,而远程雷波的分支称为“主”与您本地雷波的目前已检查的分支相匹配。
首先,请使用 git 状态检查您是否有任何本地变更。
然后执行:
git fetch
git reset --hard @{push}
它将重新设置当前的本地分支到相同的远程分支,将用于 git push. 这特别有用,当 git config push.default 电流设置时. 例如,当您的分支是 abc 和远程是起源时,它将重新设置为起源/abc。
请参见 Git 评论,了解更多关于 @{push} 的详细信息
上面的所有提示都是正确的,但很多时候,为了真正重新设置您的项目,您还需要删除即使是您的.gitignore 中的文件。
要从远程中删除您的项目目录和重新克隆的道德等级是:
git fetch
git reset --hard
git clean -x -d -f
警告: git clean -x -d -f 是不可逆转的,您可能会失去文件和数据(例如,您使用.gitignore 忽略的东西)。