想把文件 include/plugin/funclib/function_member.php
恢复到 b257f8685b71a471c4f797d05f52a1a576047ed2
(2014-12-29 23:38)这个版本,但是使用 git reset b257f8685b71a471c4f797d05f52a1a576047ed2 include/plugin/funclib/function_member.php
一直无法实现。
Administrator@USER-20140115FZ /D/website/xxx.com/www (master)
$ git log include/plugin/funclib/function_member.php
commit bbb0a005d245e6d5ef5b1c0b1b0ef2981fa3ecb9
Author: ken <xxx@gmail.com>
Date: Mon Jan 5 22:07:37 2015 +0800
for reset
commit b257f8685b71a471c4f797d05f52a1a576047ed2
Author: ken <xxx@gmail.com>
Date: Mon Dec 29 23:38:09 2014 +0800
add reg forbbiden
commit 052c0233bcaef35bbf6e6ebd43bfd6a648e3d93b
Author: ken <xxx@gmail.com>
Date: Mon Dec 29 21:51:44 2014 +0800
add coname filter for register
commit 53298e00de944863f6092d0d4c0a260d00124f9f
Author: ken <xxx@gmail.com>
Date: Mon Dec 29 01:24:13 2014 +0800
add referrals.php delete some php files like serv.php yqm.php,modify registe
commit 44118e5256eb9786d024f9b7d2dfb8af0bd8a308
Author: default7 <xxx@gmail.com>
Date: Sun Jul 27 17:05:21 2014 +0800
first commit
Administrator@USER-20140115FZ /D/website/xxx.com/www (master)
$ git reset b257f8685b71a471c4f797d05f52a1a576047ed2 include/plugin/funclib/fun
ction_member.php --hard
fatal: Cannot do hard reset with paths.
Administrator@USER-20140115FZ /D/website/xxx.com/www (master)
$ git reset b257f8685b71a471c4f797d05f52a1a576047ed2 include/plugin/funclib/fun
ction_member.php
Unstaged changes after reset:
M include/plugin/funclib/function_member.php
Administrator@USER-20140115FZ /D/website/xxx.com/www (master)
$
Utilisez simplement
git-checkout
. C'est juste un peu étrange à comprendre.Référence source :
Vous devez encore exécuter
git checkout xxxxx(文件名)
Git ne peut pas restaurer un seul fichier vers une version spécifiée. Si vous souhaitez faire cela, vous pouvez le faire
. 1. git reset version number A ce moment, une branche correspondant au numéro de version sera générée
. 2. git checkout sur cette branche et copiez les fichiers à restaurer
3. git checkout sur la branche d'origine, copiez le fichier, écrasez le fichier actuel, puis git add, git commit
Je pense que c'est bien d'utiliser tortoisegit. Après configuration, il y a directement une interface graphique, et vous pouvez restaurer la version précédente avec rever
1. Si votre soumission n'a pas été partagée et publiée à distance, vous pouvez utiliser git rebase -i origin/branch pour modifier la branche correspondante, puis soumettre à nouveau git commit --ammend.
2. Si votre soumission a été partagée vers l'extrémité distante, vous pouvez uniquement utiliser git pour revenir à la branche correspondante, puis extraire d'autres fichiers, conserver uniquement cette modification, puis soumettre.
3. C'est un peu compliqué. Ce serait très pratique s'il y avait un outil graphique. Je clique habituellement sur un fichier d'une certaine version dans le contrôle git de webstrom, je fais un clic droit pour revenir en arrière, puis je le soumets.
git checkout <sha1-of-a-commit> </chemin/vers/votre/fichier>