Git学习总结

1、简介

1.1、什么是git

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

1585095104876

1.2、git与SVN区别

  • 1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
  • 2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
  • 3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
  • 4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
  • 5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

1585103310199

2、安装配置

2.1、下载地址

2.2、安装

  • 下载完成后,默认安装,安装完成后鼠标右键操作,可以看到出现GitBash HereGit GUI Here操作,即安装成功。

    1585103415580

3、工作区、暂存区和版本库

3.1、概念

  • 工作区:就是你在电脑里能看到的目录。
  • 暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
  • 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

3.2、区别

  • 工作区:用来编辑保存项目文件的地方,也是用户能直接操作到的地方。
  • 暂存区:保存了下次将提交的文件列表信息,一般在 Git 仓库目录中,是一个叫index的文件,通常多数说法还是叫暂存区域;
  • 版本库:也叫本地版本库,之所以说git 快,是因为它是分布式版本控制系统,大部分提交都是对本地仓库而言的,不依赖网络,最后一次会推送的到远程仓库。

1585096299265

4、创建仓库

4.1、初始化仓库

  • 命令
    • git init 使用当前目录作为Git仓库,我们只需使它初始化
    • git init 指定目录 使用指定目录作为Git仓库
  • 文件结构
    • 初始化后,会在初始目录下会出现一个名为 .git 的目录
    • 所有 Git 需要的数据和资源都存放在这个.git目录中

4.2、克隆仓库

我们使用 git clone 从现有 Git 仓库中拷贝项目(类似 svn checkout)。

  • 命令
    • git clone repo repo为Git仓库,从现有Git仓库拷贝项目
    • git clone repo directory 从现有Git仓库拷贝项目到指定directory目录

5、使用步骤

5.1、准备工作

  • 用户名与邮箱绑定
    • git config --global user.name "user.name"
    • git config --global user.email "yourmail@youremail.com.cn"
  • 生成SSH
    • ssh-keygen -t rsa -C "你的邮箱名"
    • 输入密码
    • 进入C盘的用户文件夹,找到.ssh文件夹中的idb_rsa.pub 文件,复制里面的内容
  • 绑定SSH公钥
    • 进入github或gitee的个人空间,设置,找到SSH设置,将上一步复制的内容粘贴至公钥处,标题任意
  • 新建仓库
    • 在GitHub或gitee新建一个仓库,保存其链接,用来做远程仓库URL地址

5.2、基本步骤

  • 使用git init命令将本地的项目文件夹初始化成一个git仓库,初始化成功后,该文件夹下默认生成一个隐藏的.git文件夹
  • 使用git add . 命令将该文件夹下的所有文件提交到暂存区
  • 使用git status查看项目当前变更未提交到本地仓库的文件
  • 使用git commit -m "message"命令将项目提交到本地仓库
  • 使用git remote add origin URL命令绑定远程仓库,URL为远程仓库链接
  • 使用git push -u origin master命令将本地仓库项目推送到远程仓库
    • 若远程仓库为空,则加-u参数
    • 不为空,直接输入git push origin master命令即可
  • 若中途提示需要密码,输入账号与密码验证即可

6、问题解决

6.1、push错误

  • 提示信息:error: failed to push some refs to ‘https.....’

  • 新建仓库勾选了使用Readme文件初始化这个仓库选项,则上传至远程仓库时需要先整合项目

    • 使用命令git pull --rebase origin master整合仓库
    • 再使用git push命令上传至远程仓库

7、认识与总结

7.1、关于init

  • git init命令将当前文件初始化为一个仓库,仅对于当前文件夹内项目进行管理,若其他项目也需要管理,需要在相应的项目文件夹下初始化一个git仓库

7.2、其他

  • git clone将项目下载至当前的路径,git bash中可使用命令pwd查看当前路径。
posted @ 2020-03-25 11:11  LFCC  阅读(207)  评论(0编辑  收藏  举报