<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>普世若水</title>
  
  
  <link href="/atom.xml" rel="self"/>
  
  <link href="http://pushiji.top/"/>
  <updated>2020-04-13T13:57:09.132Z</updated>
  <id>http://pushiji.top/</id>
  
  <author>
    <name>PuShiji</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>蒲世吉个人课程表</title>
    <link href="http://pushiji.top/2020/04/13/%E8%92%B2%E4%B8%96%E5%90%89%E4%B8%AA%E4%BA%BA%E8%AF%BE%E7%A8%8B%E8%A1%A8/"/>
    <id>http://pushiji.top/2020/04/13/%E8%92%B2%E4%B8%96%E5%90%89%E4%B8%AA%E4%BA%BA%E8%AF%BE%E7%A8%8B%E8%A1%A8/</id>
    <published>2020-04-13T13:11:42.000Z</published>
    <updated>2020-04-13T13:57:09.132Z</updated>
    
    <content type="html"><![CDATA[<center><table><thead><tr><th align="center">一</th><th align="center">二</th><th align="center">三</th><th align="center">四</th><th align="center">五</th><th align="center">六</th></tr></thead><tbody><tr><td align="center">2</td><td align="center">34</td><td align="center">2</td><td align="center">4</td><td align="center">3</td><td align="center">1</td></tr><tr><td align="center">8:3</td><td align="center">9:2</td><td align="center">8:3</td><td align="center">10:1</td><td align="center">9:2</td><td align="center">7:1</td></tr></tbody></table></center>]]></content>
    
    <summary type="html">
    
      
      
        &lt;center&gt;



&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot;&gt;一&lt;/th&gt;
&lt;th align=&quot;center&quot;&gt;二&lt;/th&gt;
&lt;th align=&quot;center&quot;&gt;三&lt;/th&gt;
&lt;th align=&quot;center&quot;&gt;四&lt;/th&gt;
&lt;th
      
    
    </summary>
    
    
      <category term="Work" scheme="http://pushiji.top/categories/Work/"/>
    
    
      <category term="Work" scheme="http://pushiji.top/tags/Work/"/>
    
  </entry>
  
  <entry>
    <title>git reset,git restore and git revert</title>
    <link href="http://pushiji.top/2020/03/19/git-reset-git-restore-and-git-revert/"/>
    <id>http://pushiji.top/2020/03/19/git-reset-git-restore-and-git-revert/</id>
    <published>2020-03-19T11:56:09.000Z</published>
    <updated>2020-03-25T12:35:45.339Z</updated>
    
    <content type="html"><![CDATA[<p>git-reset - Reset current HEAD to the specified state</p><p>git-restore - Restore working tree files</p><p>git-revert - Revert some existing commits</p><a id="more"></a><h1 id="git-reset"><a href="#git-reset" class="headerlink" title="git reset"></a>git reset</h1><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs base">git reset [-q] [&lt;tree-ish&gt;] [--] &lt;pathspec&gt;…​<br>git reset [-q] [--pathspec-from-file&#x3D;&lt;file&gt; [--pathspec-file-nul]] [&lt;tree-ish&gt;]<br>git reset (--patch | -p) [&lt;tree-ish&gt;] [--] [&lt;pathspec&gt;…​]<br>git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [&lt;commit&gt;]<br></code></pre></td></tr></table></figure><h2 id="reset-三种模式"><a href="#reset-三种模式" class="headerlink" title="reset 三种模式"></a>reset 三种模式</h2><h3 id="–hard："><a href="#–hard：" class="headerlink" title="–hard："></a>–hard：</h3><p>重置位置的同时，直接将 working Tree 工作目录、 index 暂存区及 repository 都重置成目标 Reset 节点的內容，所以效果看起来等同于清空暂存区和工作区。</p><h3 id="–soft："><a href="#–soft：" class="headerlink" title="–soft："></a>–soft：</h3><p>重置位置的同时，保留 working Tree 工作目录和 index 暂存区的内容，只让 repository 中的内容和 reset 目标节点保持一致，因此原节点和 reset 节点之间的【差异变更集】会放入 index 暂存区中 (Staged files)。所以效果看起来就是工作目录的内容不变，暂存区原有的内容也不变，只是原节点和 Reset 节点之间的所有差异都会放到暂存区中。</p><h3 id="–mixed（默认）："><a href="#–mixed（默认）：" class="headerlink" title="–mixed（默认）："></a>–mixed（默认）：</h3><p>重置位置的同时，只保留 Working Tree 工作目录的內容，但会将 Index 暂存区 和 Repository 中的內容更改和 reset 目标节点一致，因此原节点和 Reset 节点之间的【差异变更集】会放入 Working Tree 工作目录中。所以效果看起来就是原节点和 Reset 节点之间的所有差异都会放到工作目录中。</p><h2 id="使用场景"><a href="#使用场景" class="headerlink" title="使用场景:"></a>使用场景:</h2><h3 id="–hard：-1"><a href="#–hard：-1" class="headerlink" title="–hard："></a>–hard：</h3><p>(1) 要放弃目前本地的所有改变時，即去掉所有 add 到暂存区的文件和工作区的文件，可以执行 git reset -hard HEAD 来强制恢复 git 管理的文件夹的內容及状态；</p><p>(2) 真的想抛弃目标节点后的所有 commit（可能觉得目标节点到原节点之间的 commit 提交都是错了，之前所有的 commit 有问题）。</p><h3 id="–soft：-1"><a href="#–soft：-1" class="headerlink" title="–soft："></a>–soft：</h3><p>原节点和 reset 节点之间的【差异变更集】会放入 index 暂存区中 (Staged files)，所以假如我们之前工作目录没有改过任何文件，也没 add 到暂存区，那么使用 reset –soft 后，我们可以直接执行 git commit 將 index 暂存区中的內容提交至 repository 中。为什么要这样呢？这样做的使用场景是：假如我们想合并「当前节点」与「reset 目标节点」之间不具太大意义的 commit 记录 (可能是阶段性地频繁提交，就是开发一个功能的时候，改或者增加一个文件的时候就 commit，这样做导致一个完整的功能可能会好多个 commit 点，这时假如你需要把这些 commit 整合成一个 commit 的时候) 時，可以考虑使用 reset –soft 来让 commit 演进线图较为清晰。总而言之，可以使用 –soft 合并 commit 节点。</p><h3 id="–mixed（默认）：-1"><a href="#–mixed（默认）：-1" class="headerlink" title="–mixed（默认）："></a>–mixed（默认）：</h3><p>(1) 使用完 reset –mixed 后，我們可以直接执行 git add 将這些改变果的文件內容加入 index 暂存区中，再执行 git commit 将 Index 暂存区 中的內容提交至 Repository 中，这样一样可以达到合并 commit 节点的效果（与上面 –soft 合并 commit 节点差不多，只是多了 git add 添加到暂存区的操作）；</p><p>(2) 移除所有 Index 暂存区中准备要提交的文件 (Staged files)，我们可以执行 git reset HEAD 来 Unstage 所有已列入 Index 暂存区 的待提交的文件。(有时候发现 add 错文件到暂存区，就可以使用命令)。</p><p>(3) commit 提交某些错误代码，或者没有必要的文件也被 commit 上去，不想再修改错误再 commit（因为会留下一个错误 commit 点），可以回退到正确的 commit 点上，然后所有原节点和 reset 节点之间差异会返回工作目录，假如有个没必要的文件的话就可以直接删除了，再 commit 上去就 OK 了。</p><h1 id="git-restore"><a href="#git-restore" class="headerlink" title="git restore"></a>git restore</h1><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs base">git restore [&lt;options&gt;] [--source&#x3D;&lt;tree&gt;] [--staged] [--worktree] [--] &lt;pathspec&gt;…​<br>git restore [&lt;options&gt;] [--source&#x3D;&lt;tree&gt;] [--staged] [--worktree] --pathspec-from-file&#x3D;&lt;file&gt; [--pathspec-file-nul]<br>git restore (-p|--patch) [&lt;options&gt;] [--source&#x3D;&lt;tree&gt;] [--staged] [--worktree] [--] [&lt;pathspec&gt;…​]<br></code></pre></td></tr></table></figure><h2 id="restore-两种模式"><a href="#restore-两种模式" class="headerlink" title="restore 两种模式"></a>restore 两种模式</h2><h3 id="git-restore-1"><a href="#git-restore-1" class="headerlink" title="git restore "></a>git restore <file></file></h3><p>表示将在工作空间但是不在暂存区的文件撤销更改。</p><h3 id="git-restore-–staged"><a href="#git-restore-–staged" class="headerlink" title="git restore –staged "></a>git restore –staged <file></file></h3><p>作用是将暂存区的文件从暂存区撤出，但不会更改文件。</p><h1 id="git-revert"><a href="#git-revert" class="headerlink" title="git revert"></a>git revert</h1><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs base">git revert [--[no-] edit] [-n] [-m parent-number] [-s] [-S [&lt;keyid&gt;]] &lt;commit&gt;…​<br>git revert (--continue | --skip | --abort | --quit)<br></code></pre></td></tr></table></figure><p>git revert 是用于 “反做” 某一个版本，以达到撤销该版本的修改的目的。比如，我们 commit 了三个版本（版本一、版本二、 版本三），突然发现版本二不行（如：有 bug），想要撤销版本二，但又不想影响撤销版本三的提交，就可以用 git revert 命令来反做版本二，生成新的版本四，这个版本四里会保留版本三的东西，但撤销了版本二的东西。如下图所示：<br><img src="/2020/03/19/git-reset-git-restore-and-git-revert/revert.jpg%22" alt><br><img src="/2020/03/19/git-reset-git-restore-and-git-revert/revert.jpg#pic_center" alt="在这里插入图片描述"></p><img src="/2020/03/19/git-reset-git-restore-and-git-revert/03/19/git-reset-git-restore-and-git-revert/revert.jpg" class title="This is an test image"><h1 id="参考文献"><a href="#参考文献" class="headerlink" title="参考文献"></a>参考文献</h1><p><a href="https://git-scm.com/docs/git">git - the stupid content tracker</a></p>]]></content>
    
    <summary type="html">
    
      &lt;p&gt;git-reset - Reset current HEAD to the specified state&lt;/p&gt;
&lt;p&gt;git-restore - Restore working tree files&lt;/p&gt;
&lt;p&gt;git-revert - Revert some existing commits&lt;/p&gt;
    
    </summary>
    
    
      <category term="Git" scheme="http://pushiji.top/categories/Git/"/>
    
    
      <category term="Git" scheme="http://pushiji.top/tags/Git/"/>
    
  </entry>
  
  <entry>
    <title>Git 教程 - 撤销工作区文件的修改</title>
    <link href="http://pushiji.top/2020/03/15/Git%E6%95%99%E7%A8%8B-%E6%92%A4%E9%94%80%E5%B7%A5%E4%BD%9C%E5%8C%BA%E6%96%87%E4%BB%B6%E7%9A%84%E4%BF%AE%E6%94%B9/"/>
    <id>http://pushiji.top/2020/03/15/Git%E6%95%99%E7%A8%8B-%E6%92%A4%E9%94%80%E5%B7%A5%E4%BD%9C%E5%8C%BA%E6%96%87%E4%BB%B6%E7%9A%84%E4%BF%AE%E6%94%B9/</id>
    <published>2020-03-15T12:05:05.000Z</published>
    <updated>2020-03-19T08:24:58.315Z</updated>
    
    <content type="html"><![CDATA[<h1 id="git-checkout-–-file"><a href="#git-checkout-–-file" class="headerlink" title="git checkout – file"></a>git checkout – file</h1><p>其作用是文件在工作区的修改全部撤销，这里有两种情况：</p><ul><li><p>一种是文件自修改后还没有被放到暂存区，撤销修改就回到和版本库一模一样的状态；</p></li><li><p>一种是文件已经添加到暂存区后，又作了修改，撤销修改就回到添加到暂存区后的状态。</p></li></ul><a id="more"></a><h2 id="总之，这个命令就是让这个文件回到最近一次-git-commit-或-git-add-时的状态。另外，命令中的-“–”-很重要，没有-“–”，就变成了-“切换到另一个分支”-的命令。"><a href="#总之，这个命令就是让这个文件回到最近一次-git-commit-或-git-add-时的状态。另外，命令中的-“–”-很重要，没有-“–”，就变成了-“切换到另一个分支”-的命令。" class="headerlink" title="总之，这个命令就是让这个文件回到最近一次 git commit 或 git add 时的状态。另外，命令中的 “–” 很重要，没有 “–”，就变成了 “切换到另一个分支” 的命令。"></a>总之，这个命令就是让这个文件回到最近一次 git commit 或 git add 时的状态。另外，命令中的 “–” 很重要，没有 “–”，就变成了 “切换到另一个分支” 的命令。</h2><h1 id="git-restore-–staged"><a href="#git-restore-–staged" class="headerlink" title="git restore –staged "></a>git restore –staged <FileName></FileName></h1><p>取消暂存（track）。</p><h1 id="git-reset-HEAD"><a href="#git-reset-HEAD" class="headerlink" title="git reset HEAD "></a>git reset HEAD <file></file></h1><p>把暂存区的修改撤销掉（unstage），重新放回工作区。</p><h1 id="git-reset-–hard-HEAD-n"><a href="#git-reset-–hard-HEAD-n" class="headerlink" title="git reset –hard HEAD [~ n]"></a>git reset –hard HEAD [~ n]</h1><p>把当前版本回退到上一个或上 n 个版本。</p><h1 id="git-reset-–hard-commitID"><a href="#git-reset-–hard-commitID" class="headerlink" title="git reset –hard commitID"></a>git reset –hard commitID</h1><p>指定回到未来的某个版本。</p><h1 id="git-reflog"><a href="#git-reflog" class="headerlink" title="git reflog"></a>git reflog</h1><p>查看命令历史。如果想回到未来的某个版本，但已经关掉了命令窗口，那么 git reflog 就可以派上用场了。</p>]]></content>
    
    <summary type="html">
    
      &lt;h1 id=&quot;git-checkout-–-file&quot;&gt;&lt;a href=&quot;#git-checkout-–-file&quot; class=&quot;headerlink&quot; title=&quot;git checkout – file&quot;&gt;&lt;/a&gt;git checkout – file&lt;/h1&gt;&lt;p&gt;其作用是文件在工作区的修改全部撤销，这里有两种情况：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;一种是文件自修改后还没有被放到暂存区，撤销修改就回到和版本库一模一样的状态；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;一种是文件已经添加到暂存区后，又作了修改，撤销修改就回到添加到暂存区后的状态。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
    
    </summary>
    
    
      <category term="Git" scheme="http://pushiji.top/categories/Git/"/>
    
    
      <category term="Git" scheme="http://pushiji.top/tags/Git/"/>
    
  </entry>
  
  <entry>
    <title>Git 教程 - 删除本地文件或文件夹并同步至远程</title>
    <link href="http://pushiji.top/2020/03/15/Git%E6%95%99%E7%A8%8B-%E5%88%A0%E9%99%A4%E6%9C%AC%E5%9C%B0%E6%96%87%E4%BB%B6%E6%88%96%E6%96%87%E4%BB%B6%E5%A4%B9%E5%B9%B6%E5%90%8C%E6%AD%A5%E8%87%B3%E8%BF%9C%E7%A8%8B/"/>
    <id>http://pushiji.top/2020/03/15/Git%E6%95%99%E7%A8%8B-%E5%88%A0%E9%99%A4%E6%9C%AC%E5%9C%B0%E6%96%87%E4%BB%B6%E6%88%96%E6%96%87%E4%BB%B6%E5%A4%B9%E5%B9%B6%E5%90%8C%E6%AD%A5%E8%87%B3%E8%BF%9C%E7%A8%8B/</id>
    <published>2020-03-15T08:31:39.000Z</published>
    <updated>2020-03-16T05:02:39.466Z</updated>
    
    <content type="html"><![CDATA[<p>删除文件，一种是从工作区（Workspace）手动删除，另一种是用命令删除 。如果文件还是未跟踪状态，直接删除就可以了。否则还需要清除暂存区（Index / Stage）改变，提交至仓库区（Repository）（或版本区），最终同步至远程仓库（Repository）。</p><p>主要代码如下：</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs base">git rm fileName or git rm -r mydir<br>git commit -m &quot;commit message&quot;<br>git push<br></code></pre></td></tr></table></figure><a id="more"></a><p>详细介绍如下：</p><p>Git 本地数据管理，大概可以分为三个区：</p><p>工作区（Working Directory）：是可以直接编辑的地方。</p><p>暂存区（Stage/Index）：数据暂时存放的区域。</p><p>版本库（commit History）：存放已经提交的数据。</p><p>工作区的文件 git add 后到暂存区，暂存区的文件 git commit 后到版本库。</p><h1 id="rm-命令"><a href="#rm-命令" class="headerlink" title="rm 命令"></a>rm 命令</h1><ul><li><h2 id="作用：-删除工作区的文件。"><a href="#作用：-删除工作区的文件。" class="headerlink" title="作用： 删除工作区的文件。"></a>作用： 删除工作区的文件。</h2></li></ul><p>执行命令:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs base">rm file<br></code></pre></td></tr></table></figure><p>rm 命令只是删除工作区的文件，并没有删除版本库的文件，想要删除版本库文件还要执行下面的命令：</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs base">git add test.txt<br>git commit -m &quot;delete test&quot;<br></code></pre></td></tr></table></figure><ul><li><h2 id="结果：-删除了工作区和版本库的文件。"><a href="#结果：-删除了工作区和版本库的文件。" class="headerlink" title="结果： 删除了工作区和版本库的文件。"></a>结果： 删除了工作区和版本库的文件。</h2></li></ul><h1 id="git-rm-命令"><a href="#git-rm-命令" class="headerlink" title="git rm 命令"></a>git rm 命令</h1><ul><li><h2 id="作用：-删除工作区文件，并且将这次删除放入暂存区。"><a href="#作用：-删除工作区文件，并且将这次删除放入暂存区。" class="headerlink" title="作用： 删除工作区文件，并且将这次删除放入暂存区。"></a>作用： 删除工作区文件，并且将这次删除放入暂存区。</h2></li><li><h2 id="注意：-要删除的文件是没有修改过的，就是说和当前版本库文件的内容相同，否则会出错。"><a href="#注意：-要删除的文件是没有修改过的，就是说和当前版本库文件的内容相同，否则会出错。" class="headerlink" title="注意： 要删除的文件是没有修改过的，就是说和当前版本库文件的内容相同，否则会出错。"></a>注意： 要删除的文件是没有修改过的，就是说和当前版本库文件的内容相同，否则会出错。</h2></li></ul><p>再执行以下命令即可删除版本库文件：</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs base">git commit -m &quot;delete test&quot;<br></code></pre></td></tr></table></figure><ul><li><h2 id="结果：-删除了工作区和版本库的文件。-1"><a href="#结果：-删除了工作区和版本库的文件。-1" class="headerlink" title="结果： 删除了工作区和版本库的文件。"></a>结果： 删除了工作区和版本库的文件。</h2></li></ul><h1 id="git-rm-f"><a href="#git-rm-f" class="headerlink" title="git rm -f"></a>git rm -f</h1><ul><li><h2 id="作用：-删除工作区和暂存区文件，并且将这次删除放入暂存区。"><a href="#作用：-删除工作区和暂存区文件，并且将这次删除放入暂存区。" class="headerlink" title="作用： 删除工作区和暂存区文件，并且将这次删除放入暂存区。"></a>作用： 删除工作区和暂存区文件，并且将这次删除放入暂存区。</h2></li><li><h2 id="注意：-要删除的文件已经修改过，就是说和当前版本库文件的内容不同。"><a href="#注意：-要删除的文件已经修改过，就是说和当前版本库文件的内容不同。" class="headerlink" title="注意： 要删除的文件已经修改过，就是说和当前版本库文件的内容不同。"></a>注意： 要删除的文件已经修改过，就是说和当前版本库文件的内容不同。</h2></li><li>文件修改过但还没 git add 到暂存区。</li></ul><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs base">D:\test&gt;git rm data.txt<br>error: the following file has local modifications:<br>    data.txt<br>(use --cached to keep the file, or -f to force removal)<br><br>D:\test&gt;<br></code></pre></td></tr></table></figure><ul><li>文件修改过已经 git add 到暂存区。</li></ul><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs base">D:\test&gt;git add data.txt<br><br>D:\test&gt;git rm data.txt<br>error: the following file has changes staged in the index:<br>    data.txt<br>(use --cached to keep the file, or -f to force removal)<br><br>D:\test&gt;<br></code></pre></td></tr></table></figure><p>可见文件修改后不管有没有 git add 到暂存区，使用 git rm 命令删除都会报错。</p><ul><li>解决方法</li></ul><p>执行删除命令：</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs base">D:\test&gt;git rm -f data.txt<br></code></pre></td></tr></table></figure><p>查看状态（成功删除工作区和暂存区文件，并且将这次删除放入暂存区。）：</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs base">D:\test&gt;git status<br>On branch master<br>Your branch is ahead of &#39;origin&#x2F;master&#39; by 1 commit.<br>  (use &quot;git push&quot; to publish your local commits)<br><br>Changes to be committed:<br>  (use &quot;git restore --staged &lt;file&gt;...&quot; to unstage)<br>        deleted:    data.txt<br>D:\test&gt;<br></code></pre></td></tr></table></figure><p>然后提交：</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs base">D:\test&gt;git commit -m &quot;delete data by -f&quot;<br>[master 8ff2f05] delete data by -f<br> 1 file changed, 1 deletion (-)<br> delete mode 100644 data.txt<br>D:\test&gt;<br></code></pre></td></tr></table></figure><p>成功删除了版本库文件。</p><ul><li><h2 id="结果：-删除了工作区、暂存区和版本库的文件。"><a href="#结果：-删除了工作区、暂存区和版本库的文件。" class="headerlink" title="结果： 删除了工作区、暂存区和版本库的文件。"></a>结果： 删除了工作区、暂存区和版本库的文件。</h2></li></ul><h1 id="git-rm-–cached"><a href="#git-rm-–cached" class="headerlink" title="git rm –cached"></a>git rm –cached</h1><ul><li><h2 id="作用：-删除暂存区文件，但保留工作区的文件，并且将这次删除放入暂存区。"><a href="#作用：-删除暂存区文件，但保留工作区的文件，并且将这次删除放入暂存区。" class="headerlink" title="作用： 删除暂存区文件，但保留工作区的文件，并且将这次删除放入暂存区。"></a>作用： 删除暂存区文件，但保留工作区的文件，并且将这次删除放入暂存区。</h2></li></ul><p>执行删除命令：</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs base">git rm --cached file<br>rm file<br></code></pre></td></tr></table></figure><p>然后提交：</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs base">git commit -m &quot;commit message&quot;<br></code></pre></td></tr></table></figure><p>成功删除了版本库文件。</p><ul><li><h2 id="结果：-删除了暂存区和版本库的文件，但保留了工作区的文件。如果文件有修改并-git-add-到暂存区，再执行-git-rm-–cached-和-git-commit，那么保留的工作区文件是修改后的文件，同时暂存区的修改文件和版本库的文件也被删了。"><a href="#结果：-删除了暂存区和版本库的文件，但保留了工作区的文件。如果文件有修改并-git-add-到暂存区，再执行-git-rm-–cached-和-git-commit，那么保留的工作区文件是修改后的文件，同时暂存区的修改文件和版本库的文件也被删了。" class="headerlink" title="结果： 删除了暂存区和版本库的文件，但保留了工作区的文件。如果文件有修改并 git add 到暂存区，再执行 git rm –cached 和 git commit，那么保留的工作区文件是修改后的文件，同时暂存区的修改文件和版本库的文件也被删了。"></a>结果： 删除了暂存区和版本库的文件，但保留了工作区的文件。如果文件有修改并 git add 到暂存区，再执行 git rm –cached 和 git commit，那么保留的工作区文件是修改后的文件，同时暂存区的修改文件和版本库的文件也被删了。</h2></li></ul>]]></content>
    
    <summary type="html">
    
      &lt;p&gt;删除文件，一种是从工作区（Workspace）手动删除，另一种是用命令删除 。如果文件还是未跟踪状态，直接删除就可以了。否则还需要清除暂存区（Index / Stage）改变，提交至仓库区（Repository）（或版本区），最终同步至远程仓库（Repository）。&lt;/p&gt;
&lt;p&gt;主要代码如下：&lt;/p&gt;
&lt;figure class=&quot;highlight plain&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;code class=&quot;hljs base&quot;&gt;git rm fileName or git rm -r mydir&lt;br&gt;git commit -m &amp;quot;commit message&amp;quot;&lt;br&gt;git push&lt;br&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;
    
    </summary>
    
    
      <category term="Git" scheme="http://pushiji.top/categories/Git/"/>
    
    
      <category term="Git" scheme="http://pushiji.top/tags/Git/"/>
    
  </entry>
  
  <entry>
    <title>Git 教程 - 把本地仓库推送至远程仓库</title>
    <link href="http://pushiji.top/2020/03/14/Git%E6%95%99%E7%A8%8B-%E6%8A%8A%E6%9C%AC%E5%9C%B0%E4%BB%93%E5%BA%93%E6%8E%A8%E9%80%81%E8%87%B3%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93/"/>
    <id>http://pushiji.top/2020/03/14/Git%E6%95%99%E7%A8%8B-%E6%8A%8A%E6%9C%AC%E5%9C%B0%E4%BB%93%E5%BA%93%E6%8E%A8%E9%80%81%E8%87%B3%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93/</id>
    <published>2020-03-14T07:59:04.000Z</published>
    <updated>2020-03-19T08:24:09.934Z</updated>
    
    <content type="html"><![CDATA[<p>以码云为例，介绍如何将本地仓库上传至远程仓库。共有 6 个步骤。</p><p>主要代码如下：</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs base">git init<br>git add .<br>git commit -m &quot;commit message&quot;<br>git remote add origin https:&#x2F;&#x2F;gitee&#x2F;com&#x2F;useName&#x2F;repositoryName.git<br>git pull --rebase origin master<br>git push -u origin master<br></code></pre></td></tr></table></figure><a id="more"></a><p>以下为详细内容：</p><ul><li><h1 id="git-init-folder"><a href="#git-init-folder" class="headerlink" title="git init [folder]"></a>git init [folder]</h1></li></ul><p>初始化本地仓库，命令行目录切换至本地仓库目录后运行 <code>git init</code>, 或在后面添加本地仓库目录。</p><ul><li><h1 id="Git-add"><a href="#Git-add" class="headerlink" title="Git add"></a>Git add</h1></li></ul><p>git add [参数]&lt; 路径 &gt; 作用就是将我们需要提交的代码从工作区添加到暂存区，就是告诉 git 系统，我们要提交哪些文件，之后就可以使用 git commit 命令进行提交了。</p><h2 id="git-add"><a href="#git-add" class="headerlink" title="git add ."></a>git add .</h2><p>“.” 表示当前目录，可以修改。监控工作区的状态树，使用它会把工作时的所有变化提交到暂存区，包括文件内容修改 (modified) 以及新文件 (new)，但不包括被删除的文件。</p><h2 id="git-add-u-（git-add-–update-）"><a href="#git-add-u-（git-add-–update-）" class="headerlink" title="git add -u .（git add –update .）"></a>git add -u .（git add –update .）</h2><p>监控已经被 add 的文件（即 tracked file），会将被修改的文件提交到暂存区。但不会提交新文件（untracked file）。</p><h2 id="git-add-A-（git-add-–all-）"><a href="#git-add-A-（git-add-–all-）" class="headerlink" title="git add -A .（git add –all .）"></a>git add -A .（git add –all .）</h2><p>是上面两个功能的合集。</p><h3 id="总结："><a href="#总结：" class="headerlink" title="总结："></a>总结：</h3><ul><li><p>git add -A  提交所有变化</p></li><li><p>git add -u  提交被修改 (modified) 和被删除 (deleted) 文件，不包括新文件 (new)</p></li><li><p>git add .  提交新文件 (new) 和被修改 (modified) 文件，不包括被删除 (deleted) 文件</p></li><li><h1 id="Git-commit"><a href="#Git-commit" class="headerlink" title="Git commit"></a>Git commit</h1></li></ul><p>git commit 主要是将暂存区里的改动给提交到本地的版本库。每次使用 git commit 命令我们都会在本地版本库生成一个 40 位的哈希值，这个哈希值也叫 commit-id，commit-id 在版本回退的时候是非常有用的，它相当于一个快照，可以在未来的任何时候通过与 git reset 的组合命令回到这里。</p><h2 id="git-commit-m-‘message’"><a href="#git-commit-m-‘message’" class="headerlink" title="git commit -m ‘message’"></a>git commit -m ‘message’</h2><p>“-m ” 参数表示可以直接输入后面的 “message”，如果不加 - m 参数，那么是不能直接输入 message 的，而是会调用一个编辑器一般是 vim 来让你输入这个 message，message 即是我们用来简要说明这次提交的语句。</p><h2 id="git-commit-am-‘message’-am-等同于-a-m"><a href="#git-commit-am-‘message’-am-等同于-a-m" class="headerlink" title="git commit -am ‘message’ -am 等同于 - a -m"></a>git commit -am ‘message’ -am 等同于 - a -m</h2><p>“-a” 参数可以将所有已跟踪文件中的执行修改或删除操作的文件都提交到本地仓库，即使它们没有经过 git dd 添加到暂存区。</p><p>注意：新加的文件（即没有被 git 系统管理的文件）是不能被提交到本地仓库的。</p><ul><li><h1 id="git-remote-add-origin-https-Address"><a href="#git-remote-add-origin-https-Address" class="headerlink" title="git remote add origin https_Address"></a>git remote add origin https_Address</h1></li></ul><p>添加远程库，即建立本地仓库与远程仓库关联。</p><ul><li><h1 id="git-pull-–rebase-origin-master"><a href="#git-pull-–rebase-origin-master" class="headerlink" title="git pull –rebase origin master"></a>git pull –rebase origin master</h1></li></ul><p>在本地仓库生成 “README.md” 和 “README.en.md” 两个文件。</p><ul><li><h1 id="git-push"><a href="#git-push" class="headerlink" title="git push"></a>git push</h1></li></ul><p>git push 的一般形式为 git push &lt; 远程主机名 &gt; &lt; 本地分支名 &gt; &lt; 远程分支名 &gt; ，例如 git push origin master：refs/for/master ，即是将本地的 master 分支推送到远程主机 origin 上的对应 master 分支， origin 是远程主机名，第一个 master 是本地分支名，第二个 master 是远程分支名。</p><h2 id="git-push-origin-master"><a href="#git-push-origin-master" class="headerlink" title="git push origin master"></a>git push origin master</h2><p>如果远程分支被省略，如上则表示将本地分支推送到与之存在追踪关系的远程分支（通常两者同名），如果该远程分支不存在，则会被新建。</p><h2 id="git-push-origin-refs-for-master"><a href="#git-push-origin-refs-for-master" class="headerlink" title="git push origin:refs/for/master"></a>git push origin:refs/for/master</h2><p>如果省略本地分支名，则表示删除指定的远程分支，因为这等同于推送一个空的本地分支到远程分支，等同于 git push origin –delete master。</p><h2 id="git-push-origin"><a href="#git-push-origin" class="headerlink" title="git push origin"></a>git push origin</h2><p>如果当前分支与远程分支存在追踪关系，则本地分支和远程分支都可以省略，将当前分支推送到 origin 主机的对应分支。</p><h2 id="git-push-1"><a href="#git-push-1" class="headerlink" title="git push"></a>git push</h2><p>如果当前分支只有一个远程分支，那么主机名都可以省略，形如 git push，可以使用 git branch -r ，查看远程的分支名。</p><h2 id="git-push-u-origin-master"><a href="#git-push-u-origin-master" class="headerlink" title="git push -u origin master"></a>git push -u origin master</h2><p>如果当前分支与多个主机存在追踪关系，则可以使用 -u 参数指定一个默认主机，这样后面就可以不加任何参数使用 git push。</p><h2 id="git-push-–all-origin"><a href="#git-push-–all-origin" class="headerlink" title="git push –all origin"></a>git push –all origin</h2><p>当遇到这种情况就是不管是否存在对应的远程分支，将本地的所有分支都推送到远程主机，这时需要 -all 选项。</p><h2 id="git-push-–force-origin"><a href="#git-push-–force-origin" class="headerlink" title="git push –force origin"></a>git push –force origin</h2><p>git push 的时候需要本地先 gitpull 更新到跟服务器版本一致，如果本地版本库比远程服务器上的低，那么一般会提示你 git pull 更新，如果一定要提交，那么可以使用这个命令。</p><h2 id="git-push-origin-–tags"><a href="#git-push-origin-–tags" class="headerlink" title="git push origin –tags"></a>git push origin –tags</h2><p>git push 的时候不会推送标签，如果一定要推送标签的话那么可以使用这个命令。</p>]]></content>
    
    <summary type="html">
    
      &lt;p&gt;以码云为例，介绍如何将本地仓库上传至远程仓库。共有 6 个步骤。&lt;/p&gt;
&lt;p&gt;主要代码如下：&lt;/p&gt;
&lt;figure class=&quot;highlight plain&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;code class=&quot;hljs base&quot;&gt;git init&lt;br&gt;git add .&lt;br&gt;git commit -m &amp;quot;commit message&amp;quot;&lt;br&gt;git remote add origin https:&amp;#x2F;&amp;#x2F;gitee&amp;#x2F;com&amp;#x2F;useName&amp;#x2F;repositoryName.git&lt;br&gt;git pull --rebase origin master&lt;br&gt;git push -u origin master&lt;br&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;
    
    </summary>
    
    
      <category term="Git" scheme="http://pushiji.top/categories/Git/"/>
    
    
      <category term="Git" scheme="http://pushiji.top/tags/Git/"/>
    
  </entry>
  
  <entry>
    <title>C++ 连接 MYSQL 数据库</title>
    <link href="http://pushiji.top/2020/03/03/C++%E8%BF%9E%E6%8E%A5MYSQL%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
    <id>http://pushiji.top/2020/03/03/C++%E8%BF%9E%E6%8E%A5MYSQL%E6%95%B0%E6%8D%AE%E5%BA%93/</id>
    <published>2020-03-03T08:55:13.000Z</published>
    <updated>2020-03-09T05:28:59.445Z</updated>
    
    <content type="html"><![CDATA[<p>以下是用 C++ 连接 MySQL 数据库的详细过程。</p><a id="more"></a><h2 id="一、下载-MYSQL-数据库"><a href="#一、下载-MYSQL-数据库" class="headerlink" title="一、下载 MYSQL 数据库"></a>一、下载 MYSQL 数据库</h2><h2 id="二、添加目录与动态链接库"><a href="#二、添加目录与动态链接库" class="headerlink" title="二、添加目录与动态链接库"></a>二、添加目录与动态链接库</h2><ol><li>附加包含目录<br>选择你的项目 - 右键 - 属性 -》C++-》常规 -》附加包含目录。在这里添加你所下载 mysql 的 include 文件夹。<br><img src="https://img-blog.csdnimg.cn/20200217123517598.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3B1c2hpamk=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br>说明：我们都知道引用第三方库的时候需要用到头文件，一般头文件会在 Include 的文件夹下，因此在你项目最前面 #include”XXX.h” 的时候就可以在该目录下寻找你要引用的头文件了。</li><li>添加库目录<br><img src="https://img-blog.csdnimg.cn/20200217123533157.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3B1c2hpamk=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br>说明：这里包含的是 lib 库的目录，针对静态库和动态库的问题大家可以自行去搜索一下相关知识点，一般下载下来的第三方库的静态文件放在 lib 目录下，大家应该找到自己对应的 lib 文件夹。</li><li>添加动态库文件（libmysql.lib）<br><img src="https://img-blog.csdnimg.cn/202002171235465.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3B1c2hpamk=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br>说明：这里需要添加 mysql 的库文件，因为上一步我们已经添加了库所在的目录，因此在这里可以直接添加现有的库即可。<br>三、系统配置<br>经过以上两步的相关配置，如果运行出错，点击上图中右上角的配置管理器，活动解决方案平台选 X64，并把 MySql lib 文件夹中的 libmysql.dll 拷到项目下的项目所在的 Debug 文件夹中。<img src="https://img-blog.csdnimg.cn/20200217123555195.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3B1c2hpamk=,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></li></ol>]]></content>
    
    <summary type="html">
    
      &lt;p&gt;以下是用 C++ 连接 MySQL 数据库的详细过程。&lt;/p&gt;
    
    </summary>
    
    
      <category term="MySQL" scheme="http://pushiji.top/categories/MySQL/"/>
    
    
      <category term="MySQL" scheme="http://pushiji.top/tags/MySQL/"/>
    
  </entry>
  
  <entry>
    <title>Python 实现图片按照拍摄日期进行自动归类</title>
    <link href="http://pushiji.top/2020/03/03/Python%E5%AE%9E%E7%8E%B0%E5%9B%BE%E7%89%87%E6%8C%89%E7%85%A7%E6%8B%8D%E6%91%84%E6%97%A5%E6%9C%9F%E8%BF%9B%E8%A1%8C%E8%87%AA%E5%8A%A8%E5%BD%92%E7%B1%BB/"/>
    <id>http://pushiji.top/2020/03/03/Python%E5%AE%9E%E7%8E%B0%E5%9B%BE%E7%89%87%E6%8C%89%E7%85%A7%E6%8B%8D%E6%91%84%E6%97%A5%E6%9C%9F%E8%BF%9B%E8%A1%8C%E8%87%AA%E5%8A%A8%E5%BD%92%E7%B1%BB/</id>
    <published>2020-03-03T08:55:13.000Z</published>
    <updated>2020-03-09T05:28:59.494Z</updated>
    
    <content type="html"><![CDATA[<p>面对堆积如山的照片，手工归类太烦易出错，这里用 python 写了一段程序，可以实现具有拍摄时间照片的自动归类，符合条件的文件被移走了，不符合的没有变化，使用者只需根据自己的需要修改 PhotoPath 和 NewPath 的值即可。</p><a id="more"></a><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br></pre></td><td class="code"><pre><code class="hljs python"><span class="hljs-keyword">import</span> os<br><span class="hljs-keyword">import</span> sys<br><span class="hljs-keyword">from</span> shutil <span class="hljs-keyword">import</span> Error<br><span class="hljs-keyword">from</span> shutil <span class="hljs-keyword">import</span> copystat<br><span class="hljs-keyword">from</span> shutil <span class="hljs-keyword">import</span> copy2<br><span class="hljs-keyword">import</span> exifread<br><span class="hljs-keyword">import</span> shutil<br><span class="hljs-comment"># 图片所处的绝对路径，其中 r 表示去掉 python 的内部转义 </span><br>PhotoPath = <span class="hljs-string">r'D:/photo'</span><br>NewPath = <span class="hljs-string">r'D:/pushiji/ 图片 / 生命时间轴 P/'</span><br><span class="hljs-comment"># 根据传参判断复制的目标地址是否存在如果不存在进行创建，并且执行复制操作 </span><br><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">copy_file</span><span class="hljs-params">(src_file,dst_dir)</span>:</span><br><span class="hljs-keyword">if</span> <span class="hljs-keyword">not</span> os.path.isdir (dst_dir):<br>os.makedirs (dst_dir)<br>copy2 (src_file,dst_dir)<br><br><span class="hljs-comment"># 根据传参判断复制的目标地址是否存在如果不存在进行创建，并且执行移动操作 </span><br><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">move_file</span><span class="hljs-params">(src_file,dst_dir)</span>:</span><br><span class="hljs-keyword">if</span> <span class="hljs-keyword">not</span> os.path.isdir (dst_dir):<br>os.makedirs (dst_dir)<br>shutil.move (src_file,dst_dir)<br><br><span class="hljs-comment"># 遍历整个图片路径底下的所有文件并获取其拍摄时间，根据拍摄时间进行操作 </span><br><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">walk_file</span><span class="hljs-params">(file_path)</span>:</span><br><span class="hljs-keyword">for</span> root,dirs,files <span class="hljs-keyword">in</span> os.walk (file_path,topdown=<span class="hljs-literal">False</span>):<br><span class="hljs-keyword">for</span> name <span class="hljs-keyword">in</span> files:<br>photo = os.path.join (root,name)<br><span class="hljs-keyword">try</span>:<br><span class="hljs-keyword">with</span> open (photo, <span class="hljs-string">'rb'</span>) <span class="hljs-keyword">as</span> img:<br>dateStr = str (exifread.process_file (img)[<span class="hljs-string">'Image DateTime'</span>])<br>year = dateStr [<span class="hljs-number">0</span>:<span class="hljs-number">4</span>]<br>month = dateStr [<span class="hljs-number">5</span>:<span class="hljs-number">7</span>]<br>new_path = NewPath+year+<span class="hljs-string">' 年 /'</span>+year+<span class="hljs-string">' 年 '</span>+month+<span class="hljs-string">' 月 /'</span><br>move_file (photo,new_path)<br>print (<span class="hljs-string">"moved '&#123;&#125;' to '&#123;&#125;'"</span>.format (photo,new_path))<br><span class="hljs-keyword">except</span>:<br>print (<span class="hljs-string">"Movement failed. &#123;&#125;"</span>.format (photo))<br><span class="hljs-keyword">for</span> name <span class="hljs-keyword">in</span> dirs:<br>walk_file (name)<br>walk_file (PhotoPath)<br></code></pre></td></tr></table></figure>]]></content>
    
    <summary type="html">
    
      &lt;p&gt;面对堆积如山的照片，手工归类太烦易出错，这里用 python 写了一段程序，可以实现具有拍摄时间照片的自动归类，符合条件的文件被移走了，不符合的没有变化，使用者只需根据自己的需要修改 PhotoPath 和 NewPath 的值即可。&lt;/p&gt;
    
    </summary>
    
    
      <category term="Python" scheme="http://pushiji.top/categories/Python/"/>
    
    
      <category term="Python" scheme="http://pushiji.top/tags/Python/"/>
    
  </entry>
  
  <entry>
    <title>Hello World</title>
    <link href="http://pushiji.top/2019/03/03/hello-world/"/>
    <id>http://pushiji.top/2019/03/03/hello-world/</id>
    <published>2019-03-03T08:55:13.000Z</published>
    <updated>2020-03-22T09:06:13.668Z</updated>
    
    <content type="html"><![CDATA[<p>Welcome to <a href="https://hexo.io/">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/">documentation</a> for more info. If you get any problems when using Hexo, you can find the answer in <a href="https://hexo.io/docs/troubleshooting.html">troubleshooting</a> or you can ask me on <a href="https://github.com/hexojs/hexo/issues">GitHub</a>.</p><a id="more"></a><h2 id="Quick-Start"><a href="#Quick-Start" class="headerlink" title="Quick Start"></a>Quick Start</h2><h3 id="Create-a-new-post"><a href="#Create-a-new-post" class="headerlink" title="Create a new post"></a>Create a new post</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">$ hexo new <span class="hljs-string">"My New Post"</span><br></code></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/writing.html">Writing</a></p><h3 id="Run-server"><a href="#Run-server" class="headerlink" title="Run server"></a>Run server</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">$ hexo server<br></code></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/server.html">Server</a></p><h3 id="Generate-static-files"><a href="#Generate-static-files" class="headerlink" title="Generate static files"></a>Generate static files</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">$ hexo generate<br></code></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/generating.html">Generating</a></p><h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerlink" title="Deploy to remote sites"></a>Deploy to remote sites</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">$ hexo deploy<br></code></pre></td></tr></table></figure><p>More info: Deployment</p>]]></content>
    
    <summary type="html">
    
      &lt;p&gt;Welcome to &lt;a href=&quot;https://hexo.io/&quot;&gt;Hexo&lt;/a&gt;! This is your very first post. Check &lt;a href=&quot;https://hexo.io/docs/&quot;&gt;documentation&lt;/a&gt; for more info. If you get any problems when using Hexo, you can find the answer in &lt;a href=&quot;https://hexo.io/docs/troubleshooting.html&quot;&gt;troubleshooting&lt;/a&gt; or you can ask me on &lt;a href=&quot;https://github.com/hexojs/hexo/issues&quot;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
    
    </summary>
    
    
    
  </entry>
  
</feed>
