Maison > Questions et réponses > le corps du texte
La situation est la suivante :
J'ai trouvé une soumission antérieure aujourd'hui et je viens de découvrir que certains fichiers ont été supprimés.
Maintenant, nous voulons renvoyer le commit de version spécifié :20a3725c
git reset --hard 20a3725c
Ensuite, cela a échoué lors de la nouvelle tentative git push
, message :
To git@xxx/xxx.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@xxx/xxx.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Maintenant, nous devons restaurer la version 20a3725c
, comment résoudre ce problème ?
Une autre question est la suivante : les fichiers initialement supprimés peuvent-ils être restaurés vers la version actuelle ? (Parce que la version actuelle a ajouté ou supprimé certains fichiers (dans d'autres dossiers, pas le même dossier que les fichiers supprimés))
淡淡烟草味2017-06-05 11:10:52
Je n’ai pas encore pensé à une solution.
(Sauvegardez d'abord les fichiers actuellement modifiés)
Meilleur, revenez d'abord à la version spécifiéegit reset old_commit_id
git reset old_commit_id
然后,新建分支 git branch -b rcommit_id
再,删除线上的master
分支(将默认分支切换到其它分支)git push origin :master
然后,将之前备份的文件覆盖当前分支内的文件。
最后,将分支名改为master
git branch -b rcommit_id
#🎜🎜#
#🎜🎜# Ensuite, supprimez la branche master
en ligne (changez la branche par défaut vers une autre branche)#🎜🎜#git push origin :master
#🎜🎜#
#🎜🎜#Ensuite, écrasez les fichiers de la branche actuelle par les fichiers précédemment sauvegardés. #🎜🎜#Enfin, changez le nom de la branche en master
, soumettez-le à nouveau, puis définissez-le comme branche par défaut. #🎜🎜#
git branch -m rcommit_id master
git push origin master
高洛峰2017-06-05 11:10:52
Il doit être modifié avant de pouvoir être poussé. . .
Si vous souhaitez simplement restaurer une certaine version, vous pouvez utiliser git revert pour annuler ce commit