你好。
关于重置为旧提交,我遇到了一些问题。
我所做的步骤:
1。 grep我想要返回的提交ID
[USER@VM gitrepo]$ git log commit c846a35cd30fa05a9a125d613b220245f1f7d96e Author: Tobias <tobias@xy.de> Date: Fri Mar 23 16:00:33 2018 +0100 test 1 in ccc commit d567daf9e82b2bb1fa8493757826a224c4f3b96f Author: Tobias <tobias.@xy.de> Date: Fri Mar 23 15:58:48 2018 +0100 test 2 hilfe.txt commit dbef962622cc6bc326bbcccb3e87332af7e9577a Author: Tobias <tobias.@xy.de> Date: Fri Mar 23 15:54:23 2018 +0100 test 2 hilfe.txt
2.重置提交并放弃所有本地更改
[USER@VM gitrepo]$ git reset --hard dbef962622cc6bc326bbcccb3e87332af7e9577a HEAD is now at dbef962 test 2 hilfe.txt
3。强制将提交推送到主服务器并丢弃主服务器上的所有更改
[USER@VM gitrepo]$ git push --force Total 0 (delta 0), reused 0 (delta 0) remote: From /home/git/gitrepo remote: + c846a35...dbef962 master -> origin/master (forced update) remote: Already up-to-date. To git@VM:/home/git/gitrepo/ + c846a35...dbef962 master -> master (forced update)
直到现在一切都很好。
现在问题:
在我的主服务器上有一个名为“cleartext”的文件夹。我自动提交提交(从我的主人用钩子 - “更新后”)到这个文件夹,因为我在我的木偶服务器上使用它。
我的更新后的结果如下:
#!/bin/sh ### main ### cd /home/git/cleartext/gitrepo env -i git pull env -i git clean -f -d
强制推送我的提交ID来自我的客户端和我的“cleartext”客户端是不同的。 (而且我不能对我的“明文”客户端进行git pull)
当我删除我的“cleartext”客户端上的文件夹并再次克隆git时,没有问题,并且ID是相同的。我不想每次都克隆它们。
我做错了什么?
您如何将本地/主git仓库重置为较旧的提交并放弃所有更改?
提前致谢。
答案 0 :(得分:0)
您的明文客户端现在拥有比远程客户端更新的提交。这很正常
要始终强制检查遥控器并丢弃您在本地拥有的内容,请同时重置
将env -i git pull
更改为
git fetch
git reset --hard origin/master