git下载安装、验证、企业实战单机、多人协作
此课程会划分为10个小结进行讲述
- 1 安装和配置
- 2 创建仓库
- 3 基本用法
- 4 三种状态
- 5 标签 tag
- 6 分支 branch
- 7 合并分支
- 8 远程仓库
- 9 如何多人远程合作
git下载安装验证
一、下载、安装、验证
1、git官网:
https://git-scm.com/downloads
2、安装及配置
2-1 一路下一步
2-2 验证:在命令行输入
2-3 配置git config --global(全局)、查看配置git config --list
git config --global user.name "用户名"
git config --global user.email "邮箱"
git config --list
码云配置方案:
git config --global user.name "gb_90"
git config --global user.email "13396492261@63.com"
git config --list
GitHub配置方案:
git config --global user.name "gb-heima"
git config --global user.email "754263923@qq.com"
git config --list
idea terminal设置(关键步骤):
查看版本:
3、在idea中初始化仓库 创建仓库(2种本地创建和远程拉取)
3-1 初始化仓库
方式1:进入目录git init
创建test1目录,进入test1执行git init:
mkdir test1
cd test1/
git init
方式2:git init 目录名
cd ..
git init test2
查看初始化仓库文件:
cd test2
ls -la
方式3,远程拉取
git clone +远程仓库地址(例如:https://github.com/biaoyansu/15.x.git)
git clone git@gitee.com:gb_90/gblfy.git
备注:远程项目重命名
git clone +远程仓库地址 + 项目新的名称
git clone git@gitee.com:gb_90/gblfy.git test3
这样就把远程仓库的名称更新为test3了,内容不改变
查看目录下的文件
windows:dir
dir
linux:ll 或者ls -a 显示所有文件包括隐藏
ls -la
二、基本用法:
1、编码设置:
提交信息编码
git config --global i18n.commitencoding utf-8
输出log输出的编码
git config --global i18n.logoutputencoding utf-8
export LESSCHARSET=utf-8
查看设置的信息:
git config --list
2、查看仓库状态: git status
创建gblfy目录->>>j进入目录->>>初始化git仓库->>>查看仓库状态->>>未新增新文件
cd gblfy/
git init
git status
3、将所有修改添加到暂存区: git add .
创建gblfy目录->>>j进入目录->>>初始化git仓库->>>查看仓库状态->>>新增gblfy.txt新文件->>>添加内容”gblfy文件第一次提交,添加内容”
git add .
4、提交版本: git commit -am “描述内容”
git commit -m”gblfy文件第一次秀,添加内容”
5、查看版本记录: git log
git log
6、穿越到制定的历史节点 git checkout xxx
在gblfy.txt->>>添加”穿越历史节点第一次测试”->>>将gblfy.txt添加至暂存区->>>将gblfy.txt从至暂存区提交到本地仓库
git add .
git commit -m”穿越历史节点,第一次测试”
查看提交的记录:
git log
穿越历史节点前:
git checkout 5db6e7c9
穿越历史节点后:
备注:制作后悔药流程(3步走)
1、修改内容
2、git add . 将本次修改的文件,添加至暂存区
3、git commit -am"本次修改的文件内容"
git add . git commit -m”演示制作互殴会要流程3步走”
回到刚才编辑的版本 git checkout -
git checkout -
三种状态
modified已修改
stated已暂存
commited已提交
1、git节点组成基本3个阶段:
modify(修改文件)
git add . 添加到暂存区
git commit -am “描述提交内容”
案例:
在gblfy.txt 文件中+A
查看文件状态:
git status
将文件添加至暂存区
git add .
将gblfy.txt(新增A)文件提交到本地仓库:
git commit -m”gblfy.txt文件+A测试”
3、查看版本记录+修改的内容 git log -p
git add .
git commit -m”gblfy.txt文件 add ABCD”
4、案例——对于一个文件修改多次:
例如:新建1.txt->>>>在1.txt中,添加了A ->>>>将A添加至暂存区:
touch 1.txt
git add 1.txt
git add 1.txt 在未提交之前,又添加了B
进行提交:
git commit -m”未提交之前,添加B仓库只有A,没有B”
这种情况,仓库里git add 1.txt中只有内容A,原因是,添加B操作后,没有将B添加到暂存区
之后,又一次添加了C 和D
git status
针对一个文件修改多次这种情况,可以依次添加到暂存区,最后,一起提交:
git commit -m”将BCD添加至暂存区,一起提交”
总结:后悔药要经过3个阶段
modify(修改文件)
git add . 添加到暂存区
git commit -am “描述提交内容”
四、标签tag
新建test目->>>初始化git本地仓库->>>新建2.txt->>>将添加暂存区->>>并提交到本地仓库:
mkdir test
cd test/
git init
touch 2.txt
git add .
git commit -m”初始化仓库”
1、查看版本信息前一条信息:git log --oneline --decorate
git log --oneline --decorate
附注标签:
git tag -a 标签名 -m “备注”
git tag -a v1.0 -m”第一版完成”
2、列出所有标签(git tag)
git log --oneline
git tag
3、打标签一般以最近的节点打标签,如果选择一个历史节点打标签操作如下:
案例演示1:
提交3次,第一次和第三次分别建立标签v1.0 v2.0,这是情况是:
提交3次
有v1.0 v2.0 二个标签
进行以下操作:
在v2.0节点上,回到第二次提交的节点(通过id号),建立标签,之后,返回v2.0节点,查看所有标签
有v1.0 v1.5 v2.0 三个标签
在上面的第一个标签的基础上开始演示:
第一步:在test本地仓库下2.txt文件中添加”开始写第二版书籍”内容
第二步:将2.txt文件添加在暂存区,并提交到本地仓库
git add .
git commit -m”测试穿越历史节点添加标签01”
第三步:在test本地仓库下2.txt文件中添加”第二版书籍中期”内容
第四步:将2.txt文件添加在暂存区,并提交到本地仓库:
git add .
git commit -m”测试穿越历史节点添加标签02”
第五步:在第三次提交的基础上,建立标签v2.0
git tag -a v2.0 -m”在第二版中期,新建标签v2..0”
查看所有标签:
git tag
查看历史记录
git log --oneline
第六步:回到9834743节点
git checkout 9834743
回到9834743节点后,的文件显示的内容
第七步:在9834743节点上新增标签v1.5
git tag -a v1.5 -m”在第二版中期,回到9834743这个历史节点的新增标签v1.5”
第八步:回到v2.0节点
git checkout cd3bfe
回到v2.0节点后文件显示的内容:
查看所有标签:
git tag
案例完成!!!
简单方法:
git tag -a 标签 -am “描述阶段内容” +历史节点号
例如:
git tag -a v0.5 -m”历史节点添加tag” 801be2a
案例演示2:
在上面基础上,提交两次:
git add .
git commit -m”给历史节点添加标签01”
git add .
git commit -m “给历史节点添加标签02”
git tag -a v3.0 -m”测试穿越历史节点添加标签03”
git log --oneline
git tag -a v2.5 -m”给历史节点添加tag” ac1f4be
git log --oneline
列出所有tag:
git tag
4、查看某个标签的详细信息:git show 标签名
git show v2.0
5、回溯至标签所在的提交:git checkout 标签名
查看有哪些标签和现在所在标签:
git tag
git checkout v2.0
五、分支branch(默认分支master)
就是在主分支master上面,分出的几条分支。
例如:一本书,主线是主人公不是富有的,在主线上分出一条故事剧情发展线,主人公变更富有的。
分支名称可以自定义,就好像在不同分支平行的事件,可以随意切换,非常方便。
git init test
cd test/
touch gblfy.txt
git add .
git commit -m”第一章”
git add .
git commit -m”第二章”
现在master节点有2个节点
查看有哪些节点?
git log --oneline
git add .
git commit -m”主人公not rich”
提交之后查看节点:
git log --oneline
创建分支:git branch 分支名:
git checkout rich
git log --oneline --all
git add .
git commit -m”在rich分支上修改gblfy.txt”
git log --oneline --all
git add .
git commit -m”rich主人公+美女”
git log --oneline --all
在rich节点上,切换到master,回到开始分支出来的master节点:
git checkout master
git add .
git commit -m”在master上故事情节继续发展”
在master上有4个节点,也就是4个版本:
git log --oneline
显示所有历史记录:git log --all
图示全部历史记录(建议使用,如下图所示):git log --oneline --graph --all
git log --oneline --graph --all
分支有什么用?
比如开发一个应用,在master分支上开发了v1 v2 v3 v4个版本,在v2版本上觉得一周之后可以上线了,上线后发现在v2版本上有一个bug,但是在master主线上,已经开发到v4版本,在v4版本上开发新的功能了,这时应该怎么办?
分支就可以解决这个问题,通过git命令切换到v2版本,在v2版本master节点上,建立一个分支专门修复bug,当分支上bug修复好了,在回到master节点的v4版本继续开发,等开发完成,最后,合并分支,这样新功能开发完成了,bug也修复好了。
六、合并分支branch(默认分支master)
git init test
cd test/
touch gblfy.txt
git commit -m”第1个版本”
git add .
git commit -m”第2个版本”
git tag -a v1 -m”第一个标签”
git add .
git commit -m”第3个版本”
git log --oneline --graph --all
git checkout 62b6676
git log --oneline --graph --all
在v1版本上创建分支:git branch 分支名
也可以,创建并切换到创建的分支:git checkout -b 分支名:
git checkout -b helper
git add .
git commit -m”fix”
回到master分支:
git checkout master
git add .
git commit -m”4”
git log --oneline --graph --all
现在的情况是,在helper分支上bug已经修复了,但是在master节点上,还没有合并分支。
原则是:在上线新版本之前合并分支,修复bug
合并分支:git merge 分支名
将分支合并到当前节点上
git merge helper
解决冲突,根据需求来就可以。
git add .
git commit -m”merged master + helper”
git log --oneline --graph --all
七、远程分支
版本控制(git仓库)放在本地有一定的风险性,在远程仓库创建一个版本控制(git仓库)。
例如:本地(local)git仓库也有4个版本,将本地仓库的4个版本推送到远程(remote)git仓库,这样本地仓库和远程仓库都有4个版本。
假设1:在本地新增第5个版本,只需要把第5个版本推送到远程分支上即可(不需要把整个项目重新进行再次推送)。
假设2:本地这台电脑的仓库挂了,换一台电脑直接从remote仓库,将代码进行拉取即可。
案例演示:
git init test
cd test/
touch gb.txt
git add .
git commit -m”本地file推送remote测试01”
git log
下一步找一个remote仓库进行推送:
码云进行演示:
登录马云:
登录github,新建一个仓库,(原理和本地一样,新建一个仓库,并进行初始化)
添加远程仓库:git remote add 远程名称 远程地址
git remote add mayun git@gitee.com:gb_90/test.git
这样本地仓库和远程仓库就建立好连接了
列出所有远程仓库:git remote
这样就会把本地仓库连接的所有远程仓库都列出来
git remote
如果需要详细信息,执行命令:git remote -v
git remote -v
fetch指的是:代码拉取(下载)地址
push指的是:代码推送(上传)地址
一般个人就是一个地址
上传代码:git push -u 远程名 分支名
git push -u mayun master
git push 推送
-u:就是在服务器端设置如果下一次有人想把这代码推送,应该推送到哪一个分支上去合并,因此推送代码后面要加-u,避免以后往下拉取代码出问题。
执行命令后,报错 提交失败,意思是,你可能是第一次提交,在执行git push 之前,先要执行,git pull
git pull
问题现象:在执行git pull的时候,提示当前branch没有跟踪信息:
解决方案:
比如说要操作master吧,一种是直接指定远程master:
格式:git pull 远程名称分支
例如:
git pull mayun master
git pull origin master
git pull
发生报错:我们拒绝,因为你当前的分支是比较落后,也就是说,当前创建的分支,没有远程的分支新,现象是这样的。下面进行强制推送-
git push -u -f origin master 强制推送代码,把matser进行覆盖
git push -u -f mayun master
2、已经成功了,将本地代码推送到远程仓库
3、登录远程,进行验证
4、git branch 查看本地分支
git branch -r 查看远程分支
git banch -r
git branch
再次测试验证:
touch 1.txt
git add 1.txt
git commit -m”本地代码推送remote测试02”
git push -u mayun master
验证成功!!!
本地仓库删除,从远程拉取代演示:
克隆(拷贝)仓库:git clone 仓库地址
git clone git@gitee.com:gb_90/test.git
cd test/
git log --oneline --all
如果使用git clone 链接 这个克隆命令
他会默认为将远程仓库设置为你克隆的地址,不需要你再去设置。代码拉取的地址
git remote
注:不是mayun对吗?默认远程仓库名称:origin,刚才咱们自己定义的mayun对吧,这个名称可以自定义
git remote -v
touch 2.txt
git add 2.txt
git commit -m”local-->>>>>remote03”
如果继续使用,mayun就会出错
git push -u mayun master
可以查看远程名称
git remote
把remote名称修改为默认的origin即可:
git push -u origin master
八、多人远程操作(重点)
案例演示:
本地设定2个人,gb,ly,在idea开2个终端进行模拟
gb先从remote拉取仓库代码
git clone mayun git@gitee.com:gb_90/gblfy.git gb
ly从remote拉取仓库代码:
git clone mayun git@gitee.com:gb_90/gblfy.git gb
gb ly分别进入仓库:
cd gb/
cd ly/
gb创建1.txt:
touch 1.txt
添加至暂存区,提交到本地仓库:
git add 1.txt
git commit -m”第一个版本”
情景1:gb创建文件---->>>>>添加至暂存区---->>>>>
提交到本地仓库。这时ly本地仓库是没有的,因为gb还没有将本地的仓库的代码推送到remote仓库。
将本地仓库代码---->>>>>推送到remote仓库
git push -u origin master
查看remote:
查看提交记录:
代码已经同步完成!!!
情景2:这时ly本地仓库中仍然没有,remote仓库中的最新代码
获取远程更新:git pull 意思是拉取、下载
git pull
这样gb ly 2个仓库的代码就同步了!!!!
git add 1.txt
git commit -m”第2个版本”
git push -u -origin master
查看具体提交信息:
git pull
git add .
git commit -m”第3个版本”
git push -u origin master
git add .
git commit -m””
未从remote拉取最新代码,对内容进行修改,会报以下异常:
git push -u origin master
解决方案:
git pull
git add .
git push -u origin master
git pull
git pull命令就相当于git fetch && git merge
git fetch只是把代码拉取到本地,放置到已提交状态下。
首先gbly是gb更新一次,上传remote
ly从remote将代码拉取到本地,修改后
git下载安装、验证、企业实战单机、多人协作相关推荐
- Windows下Git下载安装详细图文教程(亲测有效)
Windows下Git下载安装详细图文教程(亲测有效) 文章目录 Windows下Git下载安装详细图文教程(亲测有效) 一.Git的下载 1.1官网下载 1.2 资源下载 二.Git的安装 三.总结 ...
- git 下载 安装
1.下载Git,官网地址:https://git-scm.com/,进入官网首页 在右下方的显示器中找到最新的版本下载,点击下载,跳转到下载页面 下载完成 2.安装Git 双击刚刚下载完成的安装文件, ...
- 本地Git下载安装以及创建版本库、远程Github
Git下载安装 windows:在git官网下载安装程序即可.点击git bash,出现命令行窗口说明安装成功. CentOS 7:root权限下,输入yum install git.如果非root权 ...
- Git下载安装及环境配置,解决安装包下载慢问题(详细版)
Git是我们平时开发都要用到的项目管理工具,虽然有网页版的Git网站,但是在本地安装Git后,可以直接使用命令语句来进行项目的上传与克隆.还是非常方便的. 今天就来介绍下Git的下载. git下载安装 ...
- git下载安装(基本命令)
由于之前电脑重置,所以设置下git.本篇文章作为笔记 git下载安装(基本命令) 文章目录 git下载安装(基本命令) 1.git的下载 2.安装git 3.基本命令 1.git的下载 下载地址:ht ...
- Git实战技巧-多人协作开发出现代码冲突,如何合并代码
Git实战技巧-多人协作开发出现代码冲突,如何合并代码 1.企业场景 小智和小黑两个人交叉修改同一个文件,这个时候小智修改完提交.问题来了,如果小智提交成功,那么就相当于忽略了小黑提交的内容.这个时候 ...
- 【Git】Git下载安装与使用(一)
目录 1. 前言 1.1 什么是Git 1.2 使用Git能做什么 2. Git概述 2.1 Git简介 2.2 Git下载与安装 3. Git代码托管服务 3.1 常用的Git代码托管服务 3.2 ...
- Git下载安装(Windows版本+Linux版本)
官网下载 下载Git服务:https://git-scm.com/downloads,这里下载的版本是:Git-2.17.0-64-bit.exe 下载Git客户端TortoiseGit:https: ...
- MacBook git 下载 安装 配置环境变量 使用示范
文章目录 下载 安装 配置环境变量 使用示范 下载 搜索 git mac download 一般第一个就是: https://git-scm.com/download/mac 这里提到了6种安装方式. ...
最新文章
- Json文件解析(下
- Jquery循环截取字符串(多出的字符串处理成...)
- java免安装版配置,Tomcat(免安装版)的安装与配置 配置成windows服务
- 在Eclipse上搭建Android C开发环境
- 慢查询优化,我终于在生产踩到了这个坑!!
- SQLite.NET.0.17 的离奇之处, BUG??? BY DESIGN??
- redhat 添加ssh端口_RHEL 7修改ssh默认端口号
- 【CodeForces - 245H 】Queries for Number of Palindromes (带容斥的区间dp)
- 小米鸿蒙1001小米鸿蒙,小米高管早就放下狠话!愿意使用鸿蒙2.0系统:那其他厂商呢?...
- 20210621:力扣第246周周赛(上)
- mysql or 速度_mysql中or和in的效率问题
- 关于proteus8.8的一键破解版和汉化包
- 霍志刚中国科学院计算机,曙光4000系列高性能计算机研究集体
- 微信报修小程序源码(近期维护V3.1.0)
- 去TB!登上了上海最高峰!
- 10个的国外大学论文期刊网站分享
- 基于sqlite的android数据库编程,Android编程之SQLite数据库操作方法详解
- mysql workbench安装教程_MySql可视化工具MySQL Workbench使用教程
- 【转】花开正当时,十四款120/128GB SSD横向评测
- 模板引擎Thymeleaf?来这一篇就够用了