美文网首页
Git 基础操作学习笔记No.1

Git 基础操作学习笔记No.1

作者: meteornnnight | 来源:发表于2018-10-29 22:26 被阅读0次

    前言:

    我的学习资料主要是廖雪峰的git教程和git官方documentation,廖雪峰的教程能够帮助我快速建立起“what is git"这个概念,但是对很多基本操作讲得不够细致深入。于是我开始广泛搜索他人的博客,发现很多人的博客中git的学习内容都是来自官方的documentation, 于是我决定自己读一读官方资料。
    官方文档地址:git documentation
    下面就是我学习过程中的一些总结,我写这篇文章的主要目的也是帮助自己记忆新知识点。

    1. 新建一个git repository(仓库)

    方法1:

    如果我想要用git track我的一些本地文件,比如说,/User/meteornight/cpp_project/, 我想要track cpp_project这一文件夹中的代码文件.c

    cd /User/meteornight/cpp_project
    git init
    add \*.c
    add README.md
    add .gitignore
    git commit -m "initial commit"
    

    方法2:

    git clone url 
    e.g.
    git clone https://github.com/meteornnnight/learning-area.git
    

    这样,我就可以克隆他人在github上的repository了。

    2. 用git记录文件改动,涉及到的git基本操作

    git文件状态的循环周期(The lifecircle of the status of your files)
    git add README.md
    git commit -m "message"
    

    git add和git commit非常简单,git add即把modified file加入到staged area(暂存区),git commit即提交暂存区中的修改(changes)。
    tip: 纯git commit指令,没有-m的时候,git会打开默认编辑器中的commit template,在编辑器中输入commit message,可以看出commit message不可忽略,十分重要。

    3. 关于git diff命令的细节:

    3.1 git diff只会显示unstaged changes

    如果我修改了working directory中的某个文件,这个文件被modified, 但是我没有git add这个文件,所以these changes are modified but not staged,git diff就会比较现在这个被modified的文件与暂存区中的文件,如果暂存区中没有这个文件,git就会与最新版本的文件进行比较。

    3.2 git diff不能显示staged changes

    在上述1这种情况的基础上,我把这些modified changes提交到staged area了,也就是说我添加了git add命令,那么git diff命令不会出现任何output。

    3.3 git diff --cached/staged filename可以显示staged changes

    git diff --cached/staged filename比较暂存区和最后一次commit之间的changes.

    4. 删除文件

    情景1: 我想在硬盘中删除文件

    rm exampleFile
    git rm exampleFile
    git commit -m "delete exampleFile"
    

    情景2: 我想在硬盘中保留文件,但是不再用git track这个文件。

    git rm --cached exampleFile
    

    相关文章

      网友评论

          本文标题:Git 基础操作学习笔记No.1

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