我正在使用git,并且有一些文件由另一个用户在几个提交的空间中推送,这些文件不应该被推送。它们是最新的提交,我可以在git log中看到我想要将本地系统重置为最后一个好的提交,然后再推送所有本地更改,以便系统再次处于干净状态
我该怎么做?我们正在使用github上的repo,如果它有任何区别。
之后的意图是该用户然后执行拉动,在本地解决冲突,并且此后建议不要推送尚未准备好推送的内容。但当然,我需要先让云回购恢复到良好的状态。
答案 0 :(得分:1)
问题" How do you roll back (reset) a git repository to a particular commit?"是关于使用git reset --hard
来恢复良好的提交。
但是,"要让云回购恢复到良好的状态",这将为您留下git push --force
的唯一选项,这对于访问同一个云的其他用户来说可能不方便repo:他们需要将自己的分支重置为新的(获取的)origin/master
分支。
如果您不介意在历史记录中保留这些错误提交,您可以使用git revert
进行一次提交(这将取消所述错误提交),并推送(常规推送)额外提交。
访问远程仓库的每个人都会定期执行git pull
,并看到错误提交引入的任何修改都会消失。