Git - Comment lister les fichiers validés qui vont pousser?

Git - Comment lister les fichiers validés qui vont pousser?

Dans Git, nous pouvons utilisergit show commit_id --name-only pour lister tous les fichiers validés qui vont pousser vers le référentiel distant.

P.S The git status didn’t show the committed files.

1. Étude de cas

En dessous du cas, git ajoute et a commis trop de fichierstarget/* indésirables accidentellement, comment supprimer les fichiers validés en local? (Ne pas pousser vers un serveur git distant)

Terminal

$ git commit -m "test uncommit"

[master f5f3fa6] test uncommit
 7 files changed, 3603 insertions(+)
 create mode 100644 src/main/java/com/example/benchmark/BenchmarkMap.java
 create mode 100644 target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_forwardLoop_jmhTest.java
 create mode 100644 target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType.java
 create mode 100644 target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B1.java
 create mode 100644 target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B2.java
 create mode 100644 target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B3.java
 create mode 100644 target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_reverseLoop_jmhTest.java

2. Solution

2.1 git log to display all the commit_id, the first one is the last commit_id, copy it.

Terminal

$ git log
commit f5f3fa6e012adf5d2caf2e1310421ad8258950d3 (HEAD -> master)
Author: example <[email protected]>
Date:   Mon Nov 26 16:02:00 2018 +0800

    test uncommit

commit 3250f725962ba12b6695c083895dd4c3533545a2 (origin/master)
Author: example <[email protected]>
Date:   Mon Nov 25 15:00:17 2018 +0800

    init

commit b28f3199e10d2aed5426342f6ed172ba7f710483
Author: example <[email protected]>
Date:   Fri Nov 23 17:27:25 2018 +0800

    update readme

2.2 git show commit_id --name-only to display all the files committed in the specified commit_id.

Terminal

$ git show f5f3fa6e012adf5d2caf2e1310421ad8258950d3 --name-only

commit f5f3fa6e012adf5d2caf2e1310421ad8258950d3 (HEAD -> master)
Author: example <[email protected]>
Date:   Mon Nov 26 16:02:00 2018 +0800

    test uncommit

src/main/java/com/example/benchmark/BenchmarkMap.java
target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_forwardLoop_jmhTest.java
target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType.java
target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B1.java
target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B2.java
target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B3.java
target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_reverseLoop_jmhTest.java

2.3 Undo the last commit with git reset --soft HEAD~1, move the mistakenly committed files back to the staging area.

Terminal

$ git reset --soft HEAD~1

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD ..." to unstage)

        new file:   src/main/java/com/example/benchmark/BenchmarkMap.java
        new file:   target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_forwardLoop_jmhTest.java
        new file:   target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType.java
        new file:   target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B1.java
        new file:   target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B2.java
        new file:   target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_jmhType_B3.java
        new file:   target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkForwardReverseLoop_reverseLoop_jmhTest.java
        new file:   target/generated-sources/annotations/com/example/benchmark/generated/BenchmarkLoop_jmhType.java

Untracked files:
  (use "git add ..." to include in what will be committed)

        .idea/