title: Git submodule foreach with selected or limiting submodule list
body: <p><strong>Issue in Brief :</strong></p>
  
  <p>I am just wondering whether git provides any options to limit the submodules while looping (ex : git submodule foreach "git pull origin master")</p>
  
  <p><em>I need like this :</em></p>
  
  <pre><code>  git submodule foreach --limit_from="submodule_2"  --limit_to="submodule7" "git pull origin master" 
  </code></pre>
  
  <p><strong>Issue in Detail :</strong></p>
  
  <p>I am working on a project with 24 submodules configured, i am facing the following issues which has a serious impacts in the entire team productivity,</p>
  
  <p>Since its a six member team and the development goes rigorously, We used to pull the remote 3 to four times a day,</p>
  
  <blockquote>
    <p>git pull origin master &amp;&amp; git submodule foreach "git pull origin
    master"</p>
  </blockquote>
  
  <p><strong><em>Some times</em></strong> </p>
  
  <pre><code>1. we miss to clear/reset the repository before
  2. miss to commit the changes before git pull
  3. miss to checkoout the correct branch in the submodules
  4. may get a auto merging conflict errors
  </code></pre>
  
  <p>The above may suppress the git pull most of the time. </p>
  
  <p><strong>Example</strong> : Let us consider the git status shows the following ,</p>
  
  <pre><code>#   modified:   lib/library/submodule_repo_1 (new commits)
  #   modified:   lib/library/submodule_repo_2 (new commits)
  #   modified:   lib/library/submodule_repo_3 (new commits)
  #   modified:   lib/library/submodule_repo_4 (new commits, modified content)
  #   modified:   lib/library/submodule_repo_5 (new commits)
  #   modified:   lib/library/submodule_repo_6 (new commits)
  #   modified:   lib/library/submodule_repo_7 (new commits, modified content)
  .
  .
  .
  .
  .
  #   modified:   lib/library/submodule_repo_23 (new commits, modified content)
  #   modified:   lib/library/submodule_repo_24 (new commits)
  </code></pre>
  
  <p><strong>The above git status shows :</strong> Out of 24 submodules <code>submodule_repo_4</code> , <code>submodule_repo_7</code> and <code>submodule_repo_23</code> have modifications.</p>
  
  <p><code>git</code> will throw an error if i missed to clear these changes or commit them before a <code>git pull</code>. </p>
  
  <p><strong>Pain taking job :</strong></p>
  
  <p>Let us consider if i commit the modification in <code>submodule_repo_4</code> and <code>submodule_repo_7</code> but not the <code>submodule_repo_23</code>, in this case git will update all the repository upto <code>submodule_repo_22</code> and it will throw an error (<strong>Ex</strong> :local file changes will be overwritten by merge) after reaching submodule_repo_23. </p>
  
  <blockquote>
    <p>So to update the submodule_repo_23 after a git reset or commit, i need
    to loop again the submodule from the begining say submodule_repo_1.</p>
  </blockquote>
  
  <p><strong>Do we have any option to limit the submodules inthe foreach loop like below,</strong></p>
  
  <pre><code>git submodule foreach --limit_from='submodule_repo_20' --limit_to='submodule_repo_23' "git pull orign master"
  </code></pre>