Git rebase commit selection

I have a git tree that looks like the following:

enter image description here

  • Gitignore won't ignore .vs folder for Visual Studio 2015 RC on Windows7/8
  • Go back N commits in Git to find commit that causes test regressions
  • How to publish a npm package with distribution files?
  • diff returning entire file for identical files
  • How can I squash commits without tracking a remote branch?
  • Visual Studio 2015: Git Diff Tool Window is empty
  • Because of the review tool we use, we cherry pick changes in rather than merging them. This leaves us with some logical duplicates, whose branch I then just delete. For example, the change one below ssl_tests “Modification: Changing name…” can also be seen in dev.

    Now, perhaps this is a lack of understanding on my part of cherry pick, but those commits have different hashes and so are different commits right? Even though they are logically the same.

    However, when I go to rebase ssl_tests onto dev, git manages to figure out that those cherry picked commits are upstream and then only rebases the “New Feature: Unit tests…” commit from ssl_tests.

    As per usual, with git, this is great! This is exactly what I want! My question though, is how does git figure out that it doesn’t need to rebase the other commits if they have different hashes?


  • Best Practice for Git Repositories with multiple projects in traditional n-tier design
  • How do I fast-forward other tracking branches in git?
  • git bash auto complete slow on windows 7 x64
  • How to synchronize configuration between git setups?
  • remote rejected master -> master (pre-receive hook declined)
  • How to set difftool/mergetool for a specific file extension in Git?
  • One Solution collect form web for “Git rebase commit selection”

    Git is looking at more than just the SHA1 here. It’s actually considering the contents of the commit. It sees that the trees resulting from applying the commit and not applying the commit are the same; that is, the commit would be empty if applied to the new base. Thus, rebase is smart enough to know that it needn’t bother including those commits.

    Git Baby is a git and github fan, let's start git clone.