美文网首页
git基础(win10)基本指令练习

git基础(win10)基本指令练习

作者: _npc_ | 来源:发表于2017-12-08 17:43 被阅读0次

    win10下的练习

    初始化git

    • 用户信息
      $ git config --global user.name "chenqi"
      $ git config --global user.email chen_q_i@163.com

    • 检查配置信息
      git config --list

    • 检查 Git 的某一项配置
      git config <key>

    创建文件夹
         mkdir learngit
    
    image.png

    查看当前路径

     pwd
    
    image.png

    git clone

      克隆现有的仓库
    

    当你执行 git clone 命令的时候,默认配置下远程 Git 仓库中的每
    一个文件的每一个版本都将被拉取下来。
    $ git clone https://github.com/libgit2/libgit2 mylibgit #clone添加别名

    初始化git仓库

     git init
    
    image.png

    添加文件

    git add readme.txt
    
    image.png

    记录每次更新到仓库

    工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪。 已跟踪的文件
    是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它
    们的状态可能处于未修改,已修改或已放入暂存区。 工作目录中除已跟踪文件以外的所有其
    它文件都属于未跟踪文件,它们既不存在于上次快照的记录中,也没有放入暂存区。 初次克
    隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态。

    image.png

    检查当前文件状态

     git status
    
    image.png image.png

    git add 跟踪新文件

    • git add fileName 追踪指定文件


      image.png
    • git add . #追踪所有文件


      image.png

    忽略文件

    一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常
    都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况
    下,我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式。

    # 常用gitignore文件
    # maven ignore
    target/
    *.jar
    *.war
    *.zip
    *.tar
    *.tar.gz
    
    # eclipse ignore
    .settings/
    .project
    .classpath
    
    # idea ignore
    .idea/
    *.ipr
    *.iml
    *.iws
    
    # temp ignore
    *.log
    *.cache
    *.diff
    *.patch
    *.tmp
    
    # system ignore
    .DS_Store
    Thumbs.db
    
    
    .externalToolBuilders/
    doc/
    
    tansunjsondome/
    
    !/src/main/webapp/WEB-INF/lib/qiniu.jar
    /src/test/
    !/doc/
    

    查看不同

     git diff
    
    1. git diff filepath 工作区与暂存区比较
    2. git diff HEAD filepath 工作区与HEAD ( 当前工作分支) 比较
    3. git diff --staged 或 --cached filepath 暂存区与HEAD比较
    4. git diff branchName filepath 当前分支的文件与branchName 分支的文件进行比较
    1. git diff commitId filepath 与某一次提交进行比较
    • 请注意,git diff 本身只显示尚未暂存的改动,而不是自上次提交以来所做的所有改动。 所以有时候你一下子暂存了所有更新过的文件后,运行 git diff 后却什么也没有,就是这个原
      因。


      image.png
      image.png
    • git diff --cached 查看已经暂存起来的变化:(--staged 和 --cached 是同义词)
    image.png
    • 查看某次提交与当前的不同


      image.png

    提交更新

    现在的暂存区域已经准备妥当可以提交了。 在此之前,请一定要确认还有什么修改过的或新
    建的文件还没有 git add 过,否则提交的时候不会记录这些还没暂存起来的变化。 这些修改
    过的文件只保留在本地磁盘。 所以,每次准备提交前,先用 git status 看下,是不是都已
    暂存起来了, 然后再运行提交命令 git commit :
    git commit -m "wrote a readme file"


    image.png
    image.png

    提交后它会告诉你,当前是在哪个分支
    ( master )提交的,本次提交的完整 SHA-1 校验和是什么( 463dc4f ),以及在本次提交中,有多少文件修订过,多少行添加和删改过。

    • 跳过使用暂存区域
      Git 提供了一个跳过使用暂存区域的方式, 只要在提交的时候,给 git commit 加上 -a 选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤


      image.png

    查看提交日志

     git log
      有许多选项可以帮助你搜寻你所要找的提交
    
    image.png
    • 一个常用的选项是 -p ,用来显示每次提交的内容差异。 你也可以加上 -2来仅显示最近两次提交:


      image.png

    该选项除了显示基本信息之外,还在附带了每次 commit 的变化。 当进行码审查,或者快速浏览某个搭档提交的 commit 所带来的变化的时候,这个数就非常有用了。 你也可以为git log 附带一系列的总结性选项。 比如说,如果你想看到每次提交的简略的统计信息,你可以使用 --stat 选项:


    image.png

    , --stat 选项在每次提交的下面列出额所有被修改过的文件、有多少文件被
    修改了以及被修改过的文件的哪些行被移除或是添加了。 在每次提交的最后还有一个总结。


    image.png

    控制台关闭后查看操作历史

      git reflog 
    
    image.png image.png

    查看提交日志显示在一行

    git log --pretty=oneline
    
    image.png

    回滚到历史提交

      git reset --hard   HEAD~1
      HEAD 表示当前版本 1表示前一个版本 100表示前100个版本
    

    回滚到指定的commitid

      git reset --hard commitid
    
    image.png image.png image.png
    • git reset HEAD <file> 回退文件,将文件从暂存区回退到工作区


      image.png

    rebase

    image.png

    相关文章

      网友评论

          本文标题:git基础(win10)基本指令练习

          本文链接:https://www.haomeiwen.com/subject/rfxyixtx.html