Git入门

  • 管理历史版本

一、版本管理器分类

1. 本地版本控制

image-20201114104909328

  • 只能在本地使用
  • 代表——RCS

2. 集中版本控制

image-20201114104935686

  • 所有代码都在一个服务器上,所有人从服务器获取,更新代码再提交到服务器
  • 因此一旦服务器崩溃,代码获取就会产生问题
  • 代表——SVN

3. 分布式版本管理系统

image-20201114105009696

  • 每个人都拥有一个自己的版本控制中心——每个人都拥有全部的代码
  • 因此可能存在安全隐患,但不会因为服务器或网络问题,造成无法工作的情况
  • 代表——Git——目前最先进的分布式版本控制系统

二、Git和SVN的区别

  • Git是分布式的,SVN是集中式的版本控制系统
  • 分布式
    • 没有中央服务器,每个人的电脑都是一个完整的版本库
    • 联网后版本都拉取在自己电脑上,本地更新完代码,等联网后再推送给其他人
      • 协同开发——git可以看见其他人修改了什么代码
    • 因此没有网络的情况下也是可以工作的
  • 集中式
    • 版本集中在中央服务器
    • 从中央服务器获取最新版本,更新完代码,再提交到中央服务器
    • 因此必须要联网才能工作

三、Git的历史

linux之父Linus Benedic Torvalds在1991-2002年管理全世界linux维护者提交的代码,极其繁琐,在2002年商用软件BitKeeper——分布式版本管理系统,赞助合作,直至2005年linux开源社区中的有人开始破解BitKeeper,因此停止了合作,linux之父用了两周时间开发了Git代替BitKeeper——免费、开源

四、Git的准备工作

1. Git安装

image-20201114112722901

2. 右键Git项

  • Git Bash——linux命令行风格——使用最多
  • Git CMD——windows命令风格
    • win清屏cls linux清屏clear
  • Git GUI——图形化界面

3. 常用Linux命令

  • 平时要多使用这15个基础命令

    • 输入命令时按tab可以自动补全
  • cd .. #返回上一级目录(cd和..中间有空格)
    

    image-20201114123514697

  • cd  #改变目录
    
  • pwd #显示当前目录
    

    image-20201114123234035

  • clear #清屏
    

    image-20201114123959553

  • ls  #列出当前目录所有文件
    

    image-20201114124615219

    • 绿色——程序 蓝色——目录 白色——文件
  • touch #新建文件
    

    image-20201114125017408

  • rm #删除文件
    

    image-20201114125159726

  • mkdir #创建目录
    

    image-20201114125345457

  • rm -r #删除目录
    

    image-20201114125613477

    • rm -rf /   #切勿在linux中使用——递归删除根目录
      
  • mv #移动文件
    

    image-20201114130646806

  • reset #重新初始化终端——类似于clear
    
  • history #查看历史使用命令
    

    image-20201114130940734

  • exit #退出
    
  • help #查看某个命令的帮助文档
    
  • # 注释
    

4. Git的配置

4.1查看配置

#查看全部配置
git config -l

image-20201114140309228

#仅查看系统config
git config --system --list

image-20201114141232135

#仅查看当前用户(global)配置
git config --global --list

image-20201114141140551

4.2 如何进行配置!!

  • 用notepad++打开C:\Program Files\Git\etc\gitconfig
git config --global user.name "shelton" #名称
git config --global user.email youremail@example.com #邮箱
  • 然后打开生成用户目录下的.gitconfig文件

    • 如C:\Users\11075\.gitconfig
      • 本质上就是在创建并编辑文件

    image-20201114181429350

  • 至此配置完成

    • 在输入git config -l,已经拥有了用户配置信息

    image-20201114142600559

五、Git基本理论(核心)

1. Git有四个工作区域:

  • 本地

    • 工作目录(Working Directory)——平时存放代码的地方

    • 暂存区(Stage/Index)——用于临时存放你的改动,本质上是一个文件

    • 资源库(Repository或Git Directory)

      git init
      

      image-20201114144246881

  • 远程

    • git仓库(Remote Directory)

2. Git的工作流程

image-20201114145839116

  • 在工作目录中添加修改文件

  • 将需要进行版本管理的文件放入暂存区

    • git add.
      
  • 将暂存区的文件提交到git仓库

    • git commit
      

六、Git项目搭建

image-20201114150044886

1. 两种创建Git仓库的方式

git init  #初始化本地项目
git clone [url]  #克隆远程仓库

七、 Git的文件操作

1. 文件的四种状态

  • Untracked:文件文件夹中,但没有添加到git仓库

    • git add.   #添加,成为Staged状态
      
  • Unmodify:文件在git仓库,未修改

    • 		   #若被修改,则成为Modified状态
      git rm.    #移除版本库,成为Untracked状态
      
  • Modified:文件在git仓库,修改

    • git add.   	 #添加,成为Staged状态
      git checkout #丢弃改动,成为Unmodify状态
      
  • Staged:暂存状态

    • git commit	#将修改同步到库中,库文件与本地一致,成为Unmodify状态
      git reset HEAD filename #取消暂存,成为Modified状态
      

2. 查看文件状态

#查看指定文件状态
git status [filename]

#查看所有文件状态
fut status

#常用操作
git add .       		#添加所有文件到暂存区Staged
git commit -m "消息内容"  #提交暂存区内容到本地仓库,-m为提交信息

3. 忽略文件

  • 不是所有文件都需要提交到仓库
*.txt		 #忽略所有 .txt结尾的文件
!lib.txt	#但lib.txt除外
/temp		#忽略上级目录,只提交temp目录
build/		#忽略build目录下的所有文件和目录
doc/*.txt	#忽略doc目录下的所有txt文件 但不包括doc/server/arch.txt

八、使用码云(Github同理)!!

1. 注册码云

2. 设置本机绑定SSH公钥,实现免密登录

  • 在Gitbash打开任意目录输入ssh-keygen,一直回车

image-20201114160128386

  • 生成的公钥输入码云

    • 公钥的名称可以随意起

      image-20201114183013949

3.新建一个自己的仓库

image-20201114161740724

4. 克隆仓库

  • 使用ssh方式而不使用http方式,这样就不需要在每次push时输入密码了

image-20201114162656457

九. IDEA中集成Git!!

1. 新建项目,绑定git

  • 将创建的远程仓库clone下来,然后将其中的文件都拷贝到自己项目的目录中

    image-20201114183255133

2. 修改文件,使用IDEA操作git

  • 将绿色的选项都取消勾选可以加快处理速度

    image-20201114184303445

  • 当然可以用底部的Terminal命令行执行同样的操作

    image-20201114184423132

    git status #查看状态,发现有untrack的文件
    git add .  #选中
    git commit -m "提交信息" #提交到本地仓库
    git push   #上传到远程仓库
    

3. 提交测试

  • 本地仓库

    image-20201114185044912

  • 远程仓库

    image-20201114185236497

十、Git的分支

  • 之前的所有操作都仅限于单个Master分支

1. 常用分支的操作

# 列出所有本地分支
$ git branch

# 列出所有远程分支
$ git branch -r

# 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]

# 切换到指定分支,并更新工作区
$ git checkout [branch-name]

# 删除分支
$ git branch -d [branch-name]

# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]

2. 分支冲突!!

合并并不仅仅是简单的文件添加、移除的操作,Git 也会合并修改

十一、Git的深入学习

https://gitee.com/all-about-git

相关文章

本篇内容主要讲解“gitee如何上传代码”,感兴趣的朋友不妨来...
这篇“从gitee上下的代码如何用”文章的知识点大部分人都不太...
这篇文章主要介绍“gitee如何下载仓库里的项目”,在日常操作...
本篇内容主要讲解“怎么在Gitee上更新代码”,感兴趣的朋友不...
本文小编为大家详细介绍“怎么将工程托管到gitee”,内容详细...
这篇文章主要介绍了gitee中图片大小如何调整的相关知识,内容...