title: Trying to understand what Travis CI does and when it should be used
body: <p>I am very new to Git and I am planning to contribute to some open-source project on GitHub after discovering a small error in it. Upon forking it and fixing the error, I purposed a pull request and I noticed this showing up:  </p>
  
  <blockquote>
    <p>Failed — The Travis CI build failed</p>
  </blockquote>
  
  <p>Looking into the details I discovered it was caused by <code>Could not find .travis.yml</code>, which made perfect sense since I had not signed in to Travis Cl with and add .travis.yml to the repository.</p>
  
  <p>This is my first time hearing about Travis and what that is known as continuous integration. And it sounds pretty cool so in order to learn more about it, I looked it up on Wikipedia.</p>
  
  <blockquote>
    <p>Travis CI is a hosted, distributed continuous integration service
    used to build and test projects hosted at GitHub. Travis CI automatically detects when a commit has been made and pushed to a GitHub repository that is using Travis CI, and each time this happens, it will try to <strong>build the project and run tests</strong>. This includes commits to all branches, not just to the master branch.</p>
  </blockquote>
  
  <p>My current understanding of Travis CI is that what it does is automatically pushing the project upon <code>git commit -am ".."</code> and I don't quite understand some part of it.</p>
  
  <ol>
  <li><p>By <strong>building the project and run tests</strong>, what tests is it going to run? And how is it going to "build" the project? (like compiling it to binary?)</p></li>
  <li><p>It states that "This includes commits to all branches" - but what if I don't want to commit to all branches?</p></li>
  <li><p>Is it alright if I don't use Travis Cl at all? Under what circumstances is it best to use it (or it must be used)? </p></li>
  </ol>