• Git指南-基础篇


    一,Git简介

    对于一个刚接触Git的同学来说,Git是一个新鲜的东西,为了对Git有更深的了解,强烈推荐一篇博文:Git与Repo入门

    它介绍了版本控制的历史,从原始的版本控制(即原型-备份-复制-修改-备份-再创建-……然后归为一类,完全手动,就像修改word文档一样。(要认真了解以下其Git的工作方式)

    二,Git的简单使用

    必须要了解GIT的原理,才能知道每个操作的意义是什么,才能更容易地理解在什么情况下用什么操作,而不是死记命令。当然,第一步是要获得一个GIT仓库。

    1.有两种获得GIT仓库的方法,一是在需要用GIT管理的项目的根目录执行:

    
    git init
    
    
    

    执行后可以看到,仅仅在项目目录多出了一个.git目录(可以使用list --ah 指令显示出隐藏文件),关于版本等的所有信息都在这个目录里面。

    另一种方式是克隆远程目录,由于是将远程服务器上的仓库完全镜像一份至本地,而不是取某一个特定版本,所以用clone而不是checkout:

    
    git clone <你的github上面仓库的url>
    
    

    2.文件状态操作

    下面几个指令的前提是明白git下文件的集中状态,详细请参考: Git与Repo入门

    接下来我们就看怎么暂存文件,其实也很简单,使用指令:

    
    git add <file>
    
    

    就可以暂存文件,跟踪文件同样是这一个命令。

    取消暂存文件是:

    
    git reset HEAD <file>
    
    
    

    若修改了一个文件想还原修改可用:

    
    git checkout --<file>
    
    

    3.查看文件修改后的差异

    当我们修改过一些文件之后,我们可能想查看我们都修改了什么东西,用"git status"只能查看对哪些文件做了改动,如果要看改动了什么,可以用:

    git diff
    
    

    4.忽略一些文件

    如果有一些部件我们不想纳入版本控制,也不想在每次"git status"时看到这些文件的提示,或者很多时候我们为了方便会使用"git add ."添加所有修改的文件,这时就会添加上一些我们不想添加的文件,怎么忽略这些文件呢?

      GIT当然提供了方法,只需在主目录下建立".gitignore"文件,此文件有如下规则:

    • 所有以#开头的行会被忽略
    • 可以使用glob模式匹配
    • 匹配模式后跟反斜杠(/)表示要忽略的是目录
    • 如果不要忽略某模式的文件在模式前加"!"

    例如:

    # 此为注释 – 将被 Git 忽略
    *.a # 忽略所有 .a 结尾的文件
    !lib.a # 但 lib.a 除外
    /TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
    build/ # 忽略 build/ 目录下的所有文件
    doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
    
    

    5.移除文件

    移除文件的指令:

    我们需要将文件添加到暂存区才能提交,而移除文件后是无法添加到暂存区的,那么怎么移除一个文件让GIT不再将其纳入版本控制呢?

    
    git rm <file>
    
    

    执行完操作后,执行提交命令就行啦!

    6.移除所有未跟踪的文件

    
    git clean [options] 一般会加上参数-df,-d表示包含目录,-f表示强制清除。
    
    

    到此为止,仅对git做了非常小部分的梳理(侧重从整体上理解,还有很多功能没介绍,如果想看更详细的操作指令,可以去 Git与Repo入门),下一篇博客主要讲述常用git分支的操作,你可以尝试到git的无穷魅力啦!

  • 相关阅读:
    自定义注解!绝对是程序员装逼的利器!!
    Java集合总结大全史上最强
    年轻人不讲武德,竟然还搞不懂JVM?求你们来看阿里Java开发岗的招聘要求吧!
    基于VisualStudio11开发Windows8的Direct2DMetro应用程序范例(2) 国际化文字展示
    现实世界的Windows Azure:采访SIVECO Romania的高级电子教学部门经理Florin Anton
    Microsoft Research和Windows Azure合作伙伴对数据发现和共享的影响
    Windows Azure安全信任中心启动了
    Windows Azure ISV博客系列:Tribe of Noise PRO
    基于Visual Studio2012实现Windows8的metro界面笔迹手写识别文档
    基于VisualStudio11开发Windows8的Metro sample讲解(1)MessageBox
  • 原文地址:https://www.cnblogs.com/jcy23401/p/4677638.html
Copyright © 2020-2023  润新知