# ⚠️ WARNING: "My last X commits" might be ambiguous.

      (MASTER)  
    Fleetwood Mac            Fritz
          ║                    ║
      Add Danny  Lindsey     Stevie       
        Kirwan  Buckingham    Nicks                                              
          ║         ╚═══╦══════╝     
    Add Christine       ║          
       Perfect      Buckingham
          ║           Nicks            
        LA1974══════════╝                                    
          ║                  
          ║                  
        Bill <══════ YOU ARE EDITING HERE
      Clinton        (CHECKED OUT, CURRENT WORKING DIRECTORY)              
                            
In this very abbreviated history of the [https://github.com/fleetwood-mac/band-history](https://github.com/fleetwood-mac/band-history/about-our-band-starting-1967.md#i-cant-believe-you-actually-clicked-this) repository you have opened a pull request to merge in the the Bill Clinton commit into the original (`MASTER`) Fleetwood Mac commit.

You opened a pull request and on GitHub you see this:

Four commits:

* Add Danny Kirwan
* Add Christine Perfect
* LA1974
* Bill Clinton                      

Thinking that nobody would ever care to read the full repository history. (There actually is a repository, click the link above!) You decide to squash these commits. So you go and run `git reset --soft HEAD~4 && git commit`. Then you `git push --force` it onto GitHub to clean up your PR.

And what happens? You just made single commit that get from Fritz to Bill Clinton. Because you forgot that yesterday you were working on the Buckingham Nicks version of this project. And `git log` doesn't match what you see on GitHub.

# 🐻 MORAL OF THE STORY

1. Find the exact files you want to get *to*, and `git checkout` them
2. Find the exact prior commit you want to keep in history, and `git reset --soft` that
3. Make a `git commit` that warps directly from the *from* to the *to*