| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
pbov7399
8年前发布

Git 学习笔记 —— 基础

   <p style="text-align: center;"><img src="https://simg.open-open.com/show/8056209ebfbd7457a4dad984623424ee.png"></p>    <h2><strong>获取 Git 仓库</strong></h2>    <p>获取 Git 项目仓库的方法有两种:</p>    <ol>     <li>从本地目录中导入所有文件到 Git 中</li>     <li>从一个服务器下载现有的 Git 仓库</li>    </ol>    <h3><strong>从现有目录中初始化仓库</strong></h3>    <p>进入该目录</p>    <pre>  $git init  </pre>    <p>该命令创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件。</p>    <h3><strong>克隆现有的仓库</strong></h3>    <p>克隆仓库的命令格式是 git clone [url]</p>    <pre>  $ git clone [url]  </pre>    <h2><strong>记录每次更新到仓库</strong></h2>    <p>在工作目录下的文件只有两种状态: 已跟踪 和 未跟踪 。</p>    <p>已跟踪的文件 就是纳入了版本管理的文件,它们也有三种状态: 未修改 、 已修改 、 已放入暂存区 。工作区中除了已跟踪的文件,其他都是 未跟踪的文件 。</p>    <p>初次 克隆 某个仓库的时候,所有文件属于 已跟踪 文件,并处于 未修改 状态。</p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/de915fe5ac337e36f316b921616d63b5.png"></p>    <h3><strong>检查当前文件的状态</strong></h3>    <p>要查看哪些文件处于什么状态,可以使用下面的命令。</p>    <pre>  $ git status  </pre>    <p>使用 git status -s 或者 git status --short 会得到紧凑的输出。</p>    <h3><strong>跟踪新文件</strong></h3>    <p>使用 git add 命令开始跟踪一个文件,这是一个多功能命令。</p>    <pre>  $ git add <filename>  </pre>    <h3><strong>管理修改过的文件</strong></h3>    <p>暂存已修改文件</p>    <p>要暂存修改过的文件,需要运行 git add 命令。</p>    <pre>  $ git add <filename>  </pre>    <p>撤销暂存的文件</p>    <pre>  $ git reset HEAD <filename>  </pre>    <p>撤销对文件的修改</p>    <pre>  $ git checkout -- <filename>  </pre>    <p>这个命令是很危险的,一旦使用了这个命令,那对这个文件做的任何修改都会消失,回不来了。</p>    <h3><strong>忽略文件</strong></h3>    <p>在目录下创建一个 .gitignore 文件,列出要忽略的文件模式,格式规范如下:</p>    <ul>     <li>所有空行或以 # 开头的行都被忽略</li>     <li>可以使用标准的 glob 模式匹配</li>     <li>匹配模式可以以 / 开头防止递归</li>     <li>匹配模式可以以 / 结尾指定目录</li>     <li>要忽略指定目录以外的文件,可以用 ! 取反</li>    </ul>    <p>glob 模式</p>    <p>所谓 glob 模式是指 `` 使用的简化了的正则表达式。</p>    <ul>     <li>* 匹配零或多个任意字符</li>     <li>[abc] 匹配任意一个列在方括号里面的字符</li>     <li>? 只匹配一个任意字符</li>     <li>[0-9] 匹配两个字符范围内所有字符</li>     <li>** 匹配任意中间目录 a/**/z ,匹配 a/z a/b/z a/b/c/z</li>    </ul>    <h3><strong>查看已暂存和未暂存的修改</strong></h3>    <p>要查看未暂存的文件更新了哪些部分,不加参数直接输入 git diff</p>    <pre>  $git diff  </pre>    <p>此命令比较的是工作目录中 当前文件 和 暂存区快照 之间的差异,也就是说,当你暂存了所有修改过的文件之后,运行 git diff 是不会有什么输出的。</p>    <p>若要查看已暂存的内容,可以用以下命令</p>    <pre>  $ git diff --staged  </pre>    <h3><strong>提交更新</strong></h3>    <p>提交时记录的是放在暂存区的快照,任何未暂存的仍然保持已修改状态,可以在下次提交时纳入版本管理。</p>    <pre>  $git commit -m '简短的提交信息'  </pre>    <p>跳过使用暂存区</p>    <p>把所有已经跟踪过的文件暂存起来一并提交,跳过 git add 步骤,给 git commit 加上 -m 选项。</p>    <pre>  $ git commit -a -m '简短的提交信息'  </pre>    <p>修改提交</p>    <p>提交完发现漏了文件没有提交,或者提交信息填错了。此时可以运行带有 --amend 选项的提交命令尝试重新提交。</p>    <pre>  $ git commit --amend  </pre>    <p>提交后发现忘记了暂存某些需要的修改,可以像下面这样操作:</p>    <pre>  $ git commit -m 'init commit'  $ git add forgotten_file  $ git add --amend  </pre>    <p>这样,第二次的提交将代替第一次提交。</p>    <h3><strong>移除文件</strong></h3>    <p>要从 Git 中移除某个文件,必须从已跟踪文件清单中移除,然后提交。</p>    <pre>  $ git rm < 列出文件名 | 目录名 | glob 模式 >  </pre>    <p>强制删除</p>    <p>如果要删除的文件已经修改过,并且已经放到了暂存区,就需要强制删除 -f (force)</p>    <pre>  $ git rm -f <files>  </pre>    <p>取消跟踪</p>    <p>如果想让文件继续留在磁盘,但是并不想让 Git 继续跟踪。</p>    <pre>  $ git rm --cached <files>  </pre>    <h3><strong>文件重命名</strong></h3>    <pre>  $ git mv old_name new_name  </pre>    <p>运行 git mv 等于运行了下面三条命令</p>    <pre>  $ mv README.md README  $ git rm README.md  $ git add README  </pre>    <h3><strong>查看提交历史</strong></h3>    <pre>  $ git log  </pre>    <p>不加任何参数, git log 会按提交时间列出所有更新,最近的更新放在上面。</p>    <h2><strong>远程仓库的使用</strong></h2>    <p>远程仓库是指托管在因特网或其他网络中你项目中的版本库。</p>    <h3><strong>查看远程仓库</strong></h3>    <p>如果想查看你已经配置的远程仓库服务器,可以运行 git remote 命令。它会列出你指定的每一个远程服务器的简写。</p>    <pre>  $git remote  </pre>    <p>也可以指定选项 -v ,会显示需要读写远程仓库使用 Git 保存的简写以及其对应的 URL</p>    <pre>  $git remote -v  </pre>    <p>如果你的远程仓库不止一个,该命令会将他们全部列出。</p>    <h3><strong>添加远程仓库</strong></h3>    <pre>  $ git remote add <shortname> <url>  </pre>    <p>添加一个新的远程 Git 仓库,同时指定一个你可以轻松引用的简写。</p>    <p> </p>    <p>来自:http://mertensming.github.io/2016/11/07/learn-git-0/</p>    <p> </p>    
 本文由用户 pbov7399 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1478660446520.html
Git 版本控制系统