美文网首页
2.git基础

2.git基础

作者: 周晓钏 | 来源:发表于2020-07-29 16:06 被阅读0次

    获取到git仓库

    获取git仓库有两种方式, 一种是自己将本地尚未进行版本控制的目录转化为git仓库,一种是克隆其他服务器上的git仓库

    1. 初始化仓库
      将本地没有进行版本控制的目录转化为git仓库
    cd /d/studyGit
    git init
    

      git init命令会在当前目录下创建一个.git的子目录,这个目录里面含有初始化git仓库中的所有必须文件,这些文件是git仓库的重要文件。虽然我们已经建立好了仓库, 但是我们还没有给仓库里的东西进行备案(跟踪)。
      通过git add命令来对文件进行追踪,然后执行git commit,这样就得到了一个被追踪文件与初始化提交的git仓库

    // 追踪单个文件
    git add 文件名
    // 追踪以txt结尾的所有文件
    git add *.txt
    // 追踪所有文件
    git add .
    
    git commit -m '初始化仓库文件'
    
    1. 克隆现有的仓库
        如果入职的公司已经有了创建好的git仓库, 我们入职的时候是不可能让我们创建一个新的仓库提交的, 这个时候只能克隆公司创建好的仓库(克隆仓库的时候会需要成员权限,先不提)
    git clone 仓库地址
    
    git clone https://github.com/libgit2/libgit2
    克隆仓库的时候并指定目录名
    git clone https://github.com/libgit2/libgit2 gitStudy
    

    将记录更新到仓库

      在仓库中的文件的状态只有两种, 已跟踪未跟踪, 已跟踪文件是只被git add的文件,在这个状态里,又分为已修改、未修改、已暂存三种。未跟踪的文件是没有被git add的文件

    查看当前文件的状态

    git status
    
    // 状态简览
    git status -s 
    git status --short
    
    未跟踪文件状态
    已跟踪文件和未跟踪文件状态
    状态简览
    • ??: 新添加的未追踪的文件
    • A : 新添加的被git add过的文件
    • M : 已经commit过又被修改,但现在被git add的文件
    •  M: 已经commit过又被修改,但现在还没有被git add的文件
    • MM: 已经commit过,并被git add的文件,又有了新的修改

    忽略文件

      在仓库里面, 有些文件我们不需要纳入git管理,也不想要他们出现在未跟踪的文件列表里面,在这种情况下,我们创建一个 .gitignore 文件来对这些文件进行忽略

    touch .gitignore
    
    1. 格式规范
    • 所有空行或者以 # 开头的行都会被 Git 忽略。
    • 可以使用标准的 glob 模式匹配,它会递归地应用在整个工作区中。
    • 匹配模式可以以(/)开头防止递归。
    • 匹配模式可以以(/)结尾指定目录。
    • 要忽略指定模式以外的文件或目录,可以在模式前加上叹号(!)取反。
    # 忽略所有的 .a 文件
    *.a
    
    # 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
    !lib.a
    
    # 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
    /TODO
    
    # 忽略任何目录下名为 build 的文件夹
    build/
    
    # 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
    doc/*.txt
    
    # 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
    doc/**/*.pdf
    

    查看修改

    git diff 
    git diff 文件名
    git diff --staged 这条命令将比对已暂存文件与最后一次提交的文件差异 
    

    提交更新

    git commit -m ''
    git commit -a -m '' 
    这个命令会自动将已跟踪过的文件自动暂存提交, 不需要自己`git add`文件
    

    移除文件

    将文件从暂存区移除, 然后提交

    git rm 文件
    git rm --cached 文件 (让文件保留在磁盘, 但git不跟踪,类似于.gitignore文件)
    

    移动文件

    git mv file_from file_to
    

    相关文章

      网友评论

          本文标题:2.git基础

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