Git入门

时间:2024-07-19 07:21:36

定义:Git是免费的、开源的、分布式版本控制系统;

一、安装:

1、官网下载对应安装包:https://git-scm.com/download/win

二、版本控制系统分类:
1、集中化的版本控制系统:CVS、SVN,有一个*服务器,客户端可以连接上进行版本管理;单点故障,本地只存最新版本;
2、分布式的版本控制系统:  

(1)客户端不仅提取最新的版本快照,而是把代码仓库完整的镜像下来;
(2)所有历史版本都存下来了;历史版本会很多,进行压缩;
(3)相当于每个客户端都是服务器,可以进行备份,去中心化思路
(4)没有网络的情况下,仍然可以看到历史版本;
(6)可以进行夸企业工作,把代码都传到远程仓库(GitHub),github相当于公共的git客户端;
(7)git存储的是版本的索引,而不是版本
三、git的本地结构:
1、工作区:正在工作的区
2、暂存区:打算要提交,但没提交,暂时存储
3、本地区:本地仓库

(1)git  add     将工作区的内容提交到暂存区
(2)git commit   将暂存区的内容提交到本地仓库

四、代码托管中心,代码托管中心的任务是帮助维护远程仓库;
1、本地仓库:
2、远程仓库:

3、本地仓库与远程仓库的交互方式有两种:
(1)团队内部协作:

  • 用户A在本地库创建项目;
  • 用户A将代码push到远程仓库;
  • 用户B需要加入用户A的团队,并由用户A授权后才能将项目代码clone到本地;
  • 用户B更新版本后将代码push到远程仓库;
  • 用户A可以pull用户B提交的代码;

(2)夸团队(公司)协作:

  • 公司A的用户A进行项目创建,并将代码push到公司A的远程仓库;
  • 将用户A创建的项目进行fork操作,同步到公司B的远程仓库;
  • 公司B的员工即可对代码进行clone操作;
  • 当公司B的员工进行代码更新后,提交到公司B的远程仓库;
  • 公司A可以对公司B的远程仓库发出pull request申请;
  • 由公司B审核通过后进行代码merge操作;
  • 这样公司A就可以pull到公司B提交的代码。

五、托管中心平台:
1、在局域网环境下,可以搭建GitLab服务器作为代码托管中心,适用于公司内部协作;
2、在外网环境下,可以使用GitHub或者Gitee作为代码托管中心,GitHub是国外的、已经搭建好的代码托管中心,Gitee是阿里的、国内的代码托管中心,相对来说,在国内,Gitee会比GitHub快一些;

六、常见命令:
git --version;
clear;
git config --global  user.name "zhucl";
git config --global  user.email "250596243@qq.com";
git init  本地仓库初始化 ,会生成隐藏的.git文件夹,使用ll  -la查看,.git目录下的内容不要删除和修改
git  add  文件名
git  commit  -m  "提交备注" 将暂存区的内容提交到本地仓库,-m写备注,后面“”的内容就是备注
注意:
1、不放在本地仓库目录下的文件,git无法进行管理,add和commit都操作不了;
2、放在本地仓库目录下的文件,也需要先add再commit,git才能进行管理;
git status          查看工作区的状态,看是否有文件还存在,如果暂存区有内容,也会显示


git log   从近到远展示日志

  •     commit   当前历史记录的索引,是唯一的,通过hash算法算的
  •     Author:作者
  •     Date:时间

注意:当历史记录过多,最后行会有:,使用空格进入下一页,b进入上一页,退出q
git  log --pretty=oneline    以漂亮的方式展示日志,所有内容展示在一行
git  log  --oneline             相对上一个,commit只截取部分
git  reflog                         会展示日志的head信息

git  reste  --hard  commit  回退到commit的版本;