Git基本使用

Git介绍: 分布式版本控制工具 VS 集中式版本控制工具

Git安装:基于官网发布的最新版本2.31.1安装

Git命令:基于开发案例 详细了解git的常用命令

Git分支:分支特性 分支创建 分支转换 分支合并 代码合并冲突解决

Idea 集成Git

===================GitHub==================—————是git官方的代码托管中心

创建远程库

代码推送 Push

代码拉取 Pull

代码克隆Clone

SSH免密登录

Idea集成GitHub

==================Gitee码云=================—————国内版本的代码托管中心

创建远程库

Idea集成gitee码云

码云链接GitHub 进行代码的复制和迁移

===================GitLab====================——————基于局域网的托管中心

GitLab服务器的搭建和部署

Idea集成GitLab

熟练掌握Git GitHub GitLab Gitee


目录

第一章 Git概述

1.1何为版本控制

 1.2为什么需要版本控制

1.3版本控制工具

1)集中式版本控制工具

2)分布式版本控制工具

1.4 git简史

1.5 git工作机制

1.6 Git和代码托管中心

第二章 Git安装

第三章 Git常用命令​

3.1 设置用户名签名

 3.2 初始化本地库

3.3 查看本地库状态

3.3.1 首次查看(工作区没有任何文件)

3.3.2 新增文件(hello.txt)

  3.3.3 再次查看(检测到未追踪的文件)

3.4 添加暂存区

3.4.1 将工作区文件添加到暂存区

3.4.2 删除暂存区文件(工作区仍存留此文件)

 3.5 提交本地库

3.5.1 将暂存区的文件提交到本地库

 3.5.2 查看状态(没有文件需要提交)

3.6 修改文件(hello.txt)

3.6.1 查看状态(检测到工作区有文件被修改)

3.6.2 将修改的文件再次添加到暂存区

3.6.3 查看状态(工作取得修改添加到了暂存区)

3.7 历史版本

3.7.1 查看历史版本

3.7.2 版本穿梭

第四章 Git分支操作

4.1 什么是分支

4.2 分支的好处

4.3 分支的操作

4.3.1 查看分支

4.3.2 创建分支

4.3.3 修改分支

4.3.4 切换分支

4.3.5 合并分支

4.3.6 产生冲突

4.3.7 解决冲突

第五章 Git团队协作机制

5.1 团队内协作

5.2 跨团队协作

第六章 GitHub操作

6.1 创建远程仓库

6.2 远程仓库操作

6.2.1 创建远程仓库别名

6.2.2 推送本地分支到远程仓库

6.2.3 克隆远程仓库到本地

6.2.4 邀请加入团队

6.2.5 拉取远程库内容

6.3 跨团队协作

6.4 SSH免密登录

第七章 IDEA集成Git

第八章 IDEA集成GitHub

第九章 国内代码托管中心——码云

第十章 自建代码托管中心——GitLab



第一章 Git概述

git是一个免费的、开源的分布式版本控制系统,可以加快属高效的处理从小行到大型的各种项目。

git易于学习,占地面积小,性能极快,它具有廉价的本地库(在本地磁盘上),方便的暂存区域和多个工作流分支等特性,其性能优于Subversion、CVS、Perforce和ClearCase等版本控制工具。

1.1何为版本控制

版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。

版本控制其实最终重要的是可以记录文件修改的历史记录,从而让用户能够查看历史版本,方便版本切换。

 1.2为什么需要版本控制

个人开发过渡到团队协作。

1.3版本控制工具

1)集中式版本控制工具

CVS、SVN、VSS......

        集中化的版本控制系统诸如 CVS、SVN等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新,多年以来,这已成为版本控制系统的标准做法。

        这种做法带来许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什么,而管理员也可以轻松掌握每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。

        事分两面,有好有坏。这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

2)分布式版本控制工具

Git、Mercurial、Bazaar、Darcs......

        像Git这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障。事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。

分布式版本控制系统出现后,解决了集中式版本控制系统的缺陷:

1.服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)

2.每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)

1.4 git简史

1.5 git工作机制

工作区:代码存放的磁盘的目录的位置

暂存区:通过git把写的代码添加到暂存区,临时存储,即暂存区代码也是可以删掉的,还没有生成对应的历史版本。

本地库:commit提交本地库,一旦提交到本地库,会生成对应的历史版本,就不能删除。

本地库:可以推送至 PUSH 远程库。

1.6 Git和代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单成为远程库。

1)局域网——————GitLab

2)互联网——————GitHub、Gitee             


                                                                        

第二章 Git安装

Git (git-scm.com)

hooks(钩子): 存放一些 shell 脚本
Info > exclude:控制 Info 中显示的信息
logs: 保存每次操作的信息,包括更新记录中的 HEAD master 等工作区文件
object: 存放 git 对象,每次提交的时候的信息
refs > heads 当前提交的信息
remote 更新的时候的信息
tags 标签,比如说版本号
COMMIT_EDITMSG:commit 的时候的信息
config:git 的仓库配置文件,包括仓库的地址和文件路径
description:仓库的描述
FETCH_HEAD:版本链接,合并的时候的仓库的版本
HEAD:映射到 ref 引用,能够后找到下一次 commit 的前一次 hash
index:暂存区


第三章 Git常用命令

3.1 设置用户名签名

1)基本语法

git config --global user.name 用户名

git config --global user.email 邮箱

cat ~/.gitconfig 查询用户

TAB键连按可自动帮助你补充识别

 说明:签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。

credential 凭证存储

git首次安装必须设置一下用户名,否则无法提交代码。

注意:这里设置用户签名和将来登录GitHub(或者其他带托管中心)的账号没有任何关系。

 3.2 初始化本地库

1)基本语法  git init

2)   实操案例:

 生成一个.git目录,隐藏文件,

linux查看本地文件—————ll

linux查看隐藏文件命令————ll -a

 

 进入隐藏文件.git里面

cd.git/

 在ll查看文件.git所包含的文件

 cd ..———— 返回上一层目录

3.3 查看本地库状态

查看本地库状态————git status

3.3.1 首次查看(工作区没有任何文件)

 默认分支为master————当前分支。

No commits yet————当前未提交任何东西,即当前是一个空的git库。

nothing to commit————不仅没提交过,还没其他东西需要提加。

3.3.2 新增文件(hello.txt)

vim hello.txt——新增文件命令

注意:在vim里面,yy为复制,p为粘贴,在按“yy”之前需先按Esc 

按下a i r o等 进入编辑状态,yy复制本行 p 粘贴到下一行

yy 16P粘贴16行

按shift + : wq ————保存,保存后才能退出

 

 ll——可以查看在git-demo目录下的文件——即hello.txt

cat hello.txt——查看hello.txt文件内容

 tail -n 1 hello.txt——查看文件末尾最后一行

  3.3.3 再次查看(检测到未追踪的文件)

git status

 on branch master————未改变,在master分支下

No commits yet————未改变,未提交任何内容

第三行改变——untracked files——未被追踪的文件——hello.txt是红色,表明虽然文件有了,但那只是存在工作区,git还未追踪这个文件。

nothing added to commit but untracked files present (use "git add" to track)

你现在没有添加任何动手,但是你现在确实有一个未被追踪的文件,你应给使用git add命令追踪他,添加到暂存区。

3.4 添加暂存区

git add hello.txt——将hello.txt添加到暂存区

3.4.1 将工作区文件添加到暂存区

 warning:git默认帮助你转换换行符。windows里面换行符是CRLF,Linux里面换行符是LF。

git add hello.tex 添加暂存区——git status 再次查看本地库状态

 hello.txt  由红色变成到绿色——说明当前git已经知道,追踪到了这个文件,说明这个文件只是存在暂存区里面。

on branch master————未改变,在master分支下

No commits yet————未改变,未提交任何内容

3.4.2 删除暂存区文件(工作区仍存留此文件)

第三行暂存区———git rm --cached hello.txt,删除暂存区这个文件

注意:此操作只删除了暂存区内的文件,工作区仍然留有文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值