一篇文章带你了解热门版本控制系统——Git( 三 )

  • Staged : 暂存状态.
  • 文件之间的状态转换如下:
    • Untracked通过git add状态变为Staged.
    • Unmodify如果被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
    • Modified通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态
    • Staged执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态.

    一篇文章带你了解热门版本控制系统——Git

    文章插图
    Git文件指令Git提供了两个方法可以查看单个文件以及所有文件的状态:
    # 查看指定文件状态git status [filename]# 查看所有文件状态git status同时Git也提供了两个方法进行文件类型的转换:
    # 添加所有文件到暂存区git add .# 提交暂存区中的内容到本地仓库 -m 提交信息git commit -m "消息内容"Git文件忽略在我们的实际开发中,有些文件并不需要添加到本地仓库中,因而Git为我们提供了一个配置类:
    • .gitignore配置类
    该文件存在以下规则:
    • 忽略文件中的空行或以井号(#)开始的行将会被忽略 。
    • 可以使用Linux通配符 。例如:星号(*)代表任意多个字符,问号(?)代表一个字符
    • 如果名称的最前面有一个感叹号(!),表示例外规则 , 将不被忽略 。
    • 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下 , 而子目录中的文件不忽略 。
    • 如果名称的最后面是一个路径分隔符(/) , 表示要忽略的是此目录下该名称的子目录 , 而非文件(默认文件或目录都忽略) 。
    我们给出相关示例:
    #为注释#忽略所有 .txt结尾的文件,这样的话上传就不会被选中!*.txt#但lib.txt除外!lib.txt#仅忽略项目根目录下的TODO文件,不包括其它目录temp/temp#忽略build/目录下的所有文件build/#会忽略 doc/notes.txt 但不包括 doc/server/arch.txtdoc/*.txtGitee码云我们在实际开发中通常需要一个远程仓库来存放我们的项目版本
    目前可靠的Git开发平台有GitHub , Gitab , Gitee , 我们在这里采用Gitee为例
    1. 注册登录码云页面

    一篇文章带你了解热门版本控制系统——Git

    文章插图
    1. 获得SSH公钥
    # 首先我们采用Git获得SSH公钥# 生成SSH公钥 然后进入 C:\Users\Administrator\.ssh 目录 可以查看相关信息ssh-keygen
    1. 设置本机绑定SSH公钥,实现远程仓库免密码登录

    一篇文章带你了解热门版本控制系统——Git

    文章插图
    1. 创建一个远程仓库

    一篇文章带你了解热门版本控制系统——Git

    文章插图
    1. 克隆至本地即可
    $ git clone 远程仓库HTTPSIDEA集成Git这一小节我们来介绍如何在IDEA中使用Git保存数据
    1. 创建项目,绑定Git
    我们通常将我们远程仓库中的代码直接拷贝复制到当前项目文件夹下即可
    一篇文章带你了解热门版本控制系统——Git

    文章插图
    此时我们的IDEA页面会发生变化(红色文件为选中文件):
    一篇文章带你了解热门版本控制系统——Git

    文章插图
    1. 修改文件,逐步实现add,commit,push操作
    我们可以选择在Terminal控制台输出:
    一篇文章带你了解热门版本控制系统——Git

    文章插图
    同样可以选择IDEA界面快捷输出:
    一篇文章带你了解热门版本控制系统——Git

    文章插图
    1. 返回Gitee页面查看数据即可(注意:需要设置为公开才可更新成功)

    一篇文章带你了解热门版本控制系统——Git

    文章插图
    Git分支分支就是脱离于主线之外的内容
    版本控制系统都以某种形式支持分支 , 一个分支代表一条独立的开发线,让我们在不影响主线的同时继续工作
    如果同一个文件在合并分支时都被修改了则会引起冲突:

    推荐阅读