• Git的基本使用


    Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

    一、版本控制系统的分类:

    1、本地版本控制

    记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如RCS。

    2、集中版本控制

    所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改

    所有的版本数据都存在服务器上,用户的本地只有自己以前所同步的版本,如果不连网的话,用户就看不到历史版本,也无法切换版本验证问题,或在不同分支工作。而且,所有数据都保存在单一的服务器上,有很大的风险这个服务器会损坏,这样就会丢失所有的数据,当然可以定期备份。代表产品:SVN、CVS、VSS

    3、分布式版本控制

    每个人都拥有全部的代码

    所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据,但这增加了本地存储空间的占用。

    不会因为服务器损坏或者网络问题,造成不能工作的情况。代表产品:Git

    二、Git的工作原理

    • Workspace:工作区,项目代码存放的地方

    • Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息

    • Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

    • Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

    三、创建本地仓库

    方式一:本地初始化仓库

    git init

    方式二:克隆远程仓库(常用)

    git clone [url]

    远程仓库创建,登录GitHub或gitee,new repository

    输入项目名,选择对应选项创建即可

     创建完成后在这里获取url

    四、文件的四种状态

    版本控制就是对文件的版本控制,要对文件进行修改、提交等操作

    • Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.

    • Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件

    • Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改 !

    • Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified

    用idea打开git同名项目,可以看到目录有文件变成红色,代表文件处于Untracked状态,执行命令

    git add .

    此时文件变成绿色,表示成为暂存状态,执行命令

    git commit -m [message]

    提交至本地仓库

    message表示提交附带的信息

    最后执行

    git push

    同步到远程仓库

    执行成功后我们的项目就被提交到GitHub或者gitee对应的仓库了

  • 相关阅读:
    发布 Rafy .NET Standard 版本 Nuget 包
    使用 MarkDown & DocFX 升级 Rafy 帮助文档
    apache2服务器支持cgi功能
    百兆网口与千兆网口速率协商不成功
    ubuntu etho0 up cron
    linux 后台进程
    MySQL的事务性
    linux下visual studio code配置c++调试环境实例
    linux下visual studio code中gdb调试文件launch.json解析
    Zookeeper安装后,编译C client时报错"syntax error near unexpected token `1.10.2"
  • 原文地址:https://www.cnblogs.com/Initial-C-/p/14172403.html
Copyright © 2020-2023  润新知