Git: Trouver un code distant
Il me rend fou.
Comment trouver un code qui a été supprimé?
En fin de compte, j'ai trouvé où il a été créé avec ceci:
Et c'est assez bon, mais j'étais aussi curieux de savoir où il a été supprimé et toujours pas d'os.
Au début j'ai essayé
, Chaque fois en développant la plage jusqu'à ce que je trouvais la ligne où il a été supprimé. Eh bien, supposons que je l'ai trouvé dans la gamme
, Alors je fais
et
de
, Mais il n'y a aucun code nulle part!
Puis je lis un peu sur
, Et, bien sûr, il me donne la seule modification, où le coupable devrait être ... et encore
Il s'avère vide ...
- Qu'est-ce que? Qu'est-ce que je fais mal?
Remercier!
Comment trouver un code qui a été supprimé?
En fin de compte, j'ai trouvé où il a été créé avec ceci:
$ git log --pretty=oneline -S'some code'
Et c'est assez bon, mais j'étais aussi curieux de savoir où il a été supprimé et toujours pas d'os.
Au début j'ai essayé
git diff HEAD..HEAD^|grep 'some code'
, Chaque fois en développant la plage jusqu'à ce que je trouvais la ligne où il a été supprimé. Eh bien, supposons que je l'ai trouvé dans la gamme
HEAD^^..HEAD^^^
, Alors je fais
git show HEAD^^^
et
git show HEAD^^
de
grep
, Mais il n'y a aucun code nulle part!
Puis je lis un peu sur
git bisect
, Et, bien sûr, il me donne la seule modification, où le coupable devrait être ... et encore
git show rev|grep 'some code'
Il s'avère vide ...
- Qu'est-ce que? Qu'est-ce que je fais mal?
Remercier!
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
3 réponses
Catherine
Confirmation de:
$ git init
Initialized empty Git repository in /Users/pknotz/foo/.git/
$ echo "Hello" > a
$ git add a
$ git commit -am "initial commit"
[master /root-commit/ 7e52a51] initial commit
1 files changed, 1 insertions/+/, 0 deletions/-/
create mode 100644 a
$ echo " World" >> a
$ git commit -am "Be more specific"
[master 080e9fe] Be more specific
1 files changed, 1 insertions/+/, 0 deletions/-/
$ echo "Hello" > a
$ git commit -am "Be less specific"
[master 00f3fd0] Be less specific
1 files changed, 0 insertions/+/, 1 deletions/-/
$ cat a
Hello
$ git log -SWorld
commit 00f3fd0134d0d54aafbb9d959666efc5fd492b4f
Author: Pat Notz <patnotz@gmail.com>
Date: Tue Oct 6 17:20:48 2009 -0600
Be less specific
commit 080e9fe84ff89aab9d9d51fb5d8d59e8f663ee7f
Author: Pat Notz <patnotz@gmail.com>
Date: Tue Oct 6 17:20:33 2009 -0600
Be more specific
Ou n'inceptez-vous pas?
</patnotz@gmail.com></patnotz@gmail.com>
David
Confirmation de:
fait ce travail, mais si vous devez effectuer des recherches plus complexes, vous pouvez utiliser
.
De
:
Rechercher des différences, le texte du patch dont contient ajouté / Chaînes distantes
C'est une coïncidence
.
</regex></regex></regex></string>
Giselle
Confirmation de:
Le problème est expliqué
Par '- S ' ou '- G ' nous pouvons
trouver seulement l'endroit où il a été ajouté
, Et non supprimé. Clarifier:
Pas à pas
J'ai eu cette idée de
https://dev.to/miku86/git-find ... -5h33
. Premièrement, nous essayons de trouver le dernier commit, qui existait dans notre rangée:
Cela mène à
- C'est notre commit souhaité. Ensuite, nous essayons de trouver la fier à côté après cela HEAD:
il
, Comme il s'agit de la dernière dans cette liste, que nous recherchons.
Ça veut dire
Devrait contenir cet enlèvement?
Pas?!? Bien, qu'est-ce que c'est diff Puis de ceci à notre premier comité trouvé?
Donc nous l'avons trouvé. Cela est étrange. Mais depuis que nous utilisons diff Entre comme commits, ai-je fait trompée s'il y a d'autres engagements entre eux?
Non, il semble que nous ne nous trompons pas. Cela est étrange. Mais oui, c'est jusqu'à présent que j'ai déménagé pour trouver un lieu de changement spécifique où la corde a disparu.
aditionellement
Je peux confirmer avec
, Quel
- Cette comité que je cherchais.
</no>