快速掌握GIt,看这几篇就好了(一)
目录
一、Git简介
1. Git是什么
2. Git与SVN区别
2.1 去中心化
2.2 git仓库的任何一个拷贝都可以独立作为一个服务器来使用
2.3 在Git中文件有四种状态:
2.4 其它
2.5 直接记录快照,而非差异
2.6 直接记录快照,而非差异
2.7 git存在分支
Git工作流程
二,Gitee.com的基本使用
新建仓库
添加文件
添加文件的同时添加文件夹
新建文件夹
文件删除
删除整个项目
三、Git基本命令
命令行配置
常用命令(重点)
在本地新建一个文件夹
git clone
ll查看当前目录下的所有文件
查看文件状态:git status
展示工作区及暂存区域中不同状态的文件。
untracked files:(未跟踪的文件)
git add +文件名(将未跟踪的文件加入暂存区)
git add 文件名 加入暂存
git commit -m '备注'(文件从暂存区提交到本地仓库)
git push(将本地仓库的记录提交到远程仓库,输入gitee账号密码)
git add .(未加入暂存的文件一并添加)
git reset HEAD
git pull
四,git冲突
一、Git简介
1. Git是什么
Git是一个开源的[分布式][版本控制系统],用于敏捷高效地处理任何或小或大的项目
版本控制器
CVS/SVN/GitSVN
客户端/服务器 C/S B/S
GIT
客户端/代码托管网站(例如:github)注1:类似的代码托管网站还有:github/码云gitee/阿里云Code源码管理
注2:类似的技术GitLab,但它与GitHub又有一定的区别
GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源。与Github类似,可以注册用户,任意提交你的代码,添加SSHKey等等。
不同的是,GitLab是可以部署到自己的服务器上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,
你总不可能把团队内部的智慧总放在别人的服务器上吧?简单来说可把GitLab看作个人版的GitHub。
2. Git与SVN区别
2.1 去中心化
GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。
2.2 git仓库的任何一个拷贝都可以独立作为一个服务器来使用
2.3 在Git中文件有四种状态:
未跟踪(untrack):表示文件为新增加的
已修改(modified):表示修改了文件,但还没保存到git仓库中。
已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中
已提交(committed):表示文件已保存在git仓库中。
2.4 其它
GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。
GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏
2.5 直接记录快照,而非差异
GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里
直接记录快照,而非差异
2.6 直接记录快照,而非差异
GIT分支和SVN的分支不同,分支在SVN中一点不特别,就是版本库中的另外的一个目录。
2.7 git存在分支
每个成员都是资源库
Git工作流程
本地电脑
代码区:工作区间,放代码的地方
暂存区:git所管理的暂存区域
本地仓库:git所管理的本级硬盘区域
远程电脑
远程仓库:GitHub、Gitee
代码提交管理的过程
代码区--->暂存区--->本地仓库--->远程仓库
代码区--->暂存区--->本地仓库:这个过程是不需要联网的
本地仓库--->远程仓库 是需要联网的
二,Gitee.com的基本使用
先登录码云账号
仓库分为两种:公开的/私有的
公开的谁都能访问,不需要密码,而私有的需要密码才能访问
新建仓库
默认是私有的,只需要填入仓库名就行 ,点击创建
创建完之后,我们需要初始化readme文件
将私有仓库设置为公开仓库
往下滑,选择开源,勾选承诺,否则不能保存
介绍也需要填写,否则也不能保存
完了之后点击确定
点击此处返回仓库初始界面
添加文件
此时仓库添加文件就成功了
添加文件的同时添加文件夹
点击提交后,可以看到doc文件夹
点进去可以看到刚刚创建的readme文件
新建文件夹
注意:由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
文件删除
点击你想删除的文件
点击删除符号
可以看见,已经没有Test文件了
删除整个项目
点击删除仓库,需要输入当前删除的仓库名
这里需要输入码云(Gitee)账号的密码
验证成功后就删除成功了
看下是否删除成功,跳到仓库主页,看下这个被删除的仓库是否还存在
已经删除成功了。
三、Git基本命令
命令行配置
一般刚安装Git都要配置用户名和密码,因为你提交代码到本地仓库(上传代码到远程仓库)时会用到,如果没有没有配置,在你提交时它会提醒你的。但是,如果仅仅克隆(即下载)公有项目,你甚至不需要注册——刚刚我们创建的账户是为了以后 fork 其它项目,以及推送我们自己的修改。
0.“Git bash here”打开命令窗口
1.查看git的配置列表
git config --list
注1:如果没有配置东西,应该是空的。照着下面步骤配置完成后,你可以再试一下该命令,就会出现一系列配置信息
2.设置用户名/邮箱/密码git config --global user.name "username"git config --global user.email "email"git config --global user.password "password"
常用命令(重点)
git clone :将远程仓库clone到本地计算机。
git status :展示工作区及暂存区域中不同状态的文件。
git add :将内容从工作目录添加到暂存区。
git commit :所有通过 git add 暂存的文件提交到本地仓库。
git push :将本地仓库的记录提交到远程仓库。
git reset HEAD <file> :从暂存区移除指定文件。
git pull :拉取远程仓库的数据。
准备工作:新建一个仓库和新建一个文件夹
这里小编以及准备好了,就不重复上诉操作了哈
在本地新建一个文件夹
右键 将窗口打开
git clone
从仓库复制克隆路径
SSH私库路径
不过本篇将会以公库来演示
执行语句git clone(paste粘贴)
按下回车键
可以看见, 成功生成本地仓库
新建一个文件,自己负责的模块(编码)
ll查看当前目录下的所有文件
查看文件状态:git status
展示工作区及暂存区域中不同状态的文件。
untracked files:(未跟踪的文件)
git add +文件名(将未跟踪的文件加入暂存区)
git add 文件名 加入暂存
将内容从工作目录添加到暂存区。
加入暂存区后再次查看 git status
git commit -m '备注'(文件从暂存区提交到本地仓库)
git push(将本地仓库的记录提交到远程仓库,输入gitee账号密码)
输入用户名和密码
git add .(未加入暂存的文件一并添加)
git reset HEAD
从暂存区移除指定文件。
git pull
拉取远程仓库的数据。
项目经理:
1.在某一个工作区间搭建环境,ssm能跑起来
2.在该工作区间中执行git init 命令,标记该工作区间由git所管理
3.在gitee/github中新建仓库
4.通过git remote add origin url 将本地仓库与远程仓库关联
5.将本地仓库与远程仓库进行文件同步
6.执行git三部曲 add commit push 将搭建好的环境推送到远程仓库
技术人员:
1:通过git clone将组长搭建好的环境克隆到本地,并且保证项目能运行
2.测试组员修改/新增代码是能够推送到远程仓库的
测试git add/commit/push是否有用
四,git冲突
Git冲突与解决方法
1.git冲突的场景(课程中主要演示情景三)
情景一:多个分支代码合并到一个分支时;
情景二:多个分支向同一个远端分支推送代码时;
情景三:同一分支,同一文件修改后的提交(即为多个程序员修改了同一个文件)
实际上,push操作和pull操作其实就分别是用本地分支合并到远程分支 和 将远程分支合并到本地分支,所以这两个过程中也可能存在冲突。
分别在同一项目的两个不同本地仓库修改a.txt并提交,则会报出以下错误:
! [rejected] master -> master (fetch first) error: failed to push some refs to ' 。。。'拒绝
错误:无法推送某些引用解决方案:
1.将代码copy出来
2.先从远程仓库pull代码至本地,再修改冲突代码,
注1:git status查看仓库状态,会显示红色的错误提示消息“ both modified: a.txt”
3.打开a.txt,手动修改冲突部分的代码
<<<<<<< HEAD
ww add 18:42 from e:\temp\test1
=======ls add 123 at 18:17 from d:\temp\test1
>>>>>>> 63c73e5933bb7d3d2bed04b06c37a74602d65b2e
注1:<<<<<<< HEAD >>>>>>>之间的即为冲突的代码,手动修改即可
3.依次add/commit/push代码至远程仓库
commit执行完生,重新查看仓库状态git status,红色的错误提示消息“ both modified: a.txt”
已经没有,表示冲突已解决
按i键为编辑
按ESC退出
:wq保存
快速掌握GIt,看这几篇就好了(一)相关推荐
- Git 看这一篇就够了
作者 |码农田小齐 责编 | Carol 封图 | CSDN 下载自视觉中国 今天简单讲下 Git 的实现原理,知其所以然才能知其然:并且梳理了日常最常用的 12 个命令,分为三大类分享给你. 本文的 ...
- Git 看这一篇就够了!
作者 | 小齐本齐 责编 | 屠敏 头图 | CSDN 下载自东方 IC 本文为码农田小齐投稿 知其所以然才能知其然,本文分享了 Git 的实现原理,并且梳理了日常最常用的 12 个命令,分为三大类分 ...
- Featuretools快速使用指南--看这一篇就够了
Featuretools简单攻略 Featuretools介绍 Featuretools快速开始 Featuretools介绍 人工特性工程是一项冗长乏味的任务,并且受到人类想象力的限制--我们可以思 ...
- MySql快速复习,看这一篇就够了!
Mysql 在这里记录了MySql的基本操作,感兴趣的小伙伴可以快速查看哦! 1. 基本操作 -- 基本操作 SHOW DATABASES; CREATE DATABASE IF NOT EXISTS ...
- 《Git篇》01.Git看这一篇就够了
陈老老老板 说明:在整体的复习一遍知识,边复习边总结,基础真的重要,需要注意的地方都标红了,还有资源的分享. 一起加油.关于git的文章之前写过只有指令的这个更多的是扩展知识,比svn好用太多 视频链 ...
- jQuery快速掌握(看这一篇就够了)
目录 jQuery 定义(更少的代码,做更多的事) 环境搭建 对象 对象分类 DOM对象转jQuery对象 jQuery对象转DOM对象 选择器 什么是选择器 基本选择器 表单选择器 过滤器 基本过滤 ...
- SpringMVC快速入门,看这一篇就够了!
springmvc概述 Springmvc是spring框架的一个模块,spring和springmvc无需中间整合层整合. Springmvc是一个基于mvc的web框架 表现层的三大任务: URL ...
- 如何快速找到志同道合的人?看这一篇就够了
如何快速找到志同道合的人?看这一篇就够了 一.前言 参加工作也有挺长一段时间了,一直以来自己也很希望可以真正为自己打拼一片天地,这应该也是大部分中产白领很希望做的事,有些人成功了,有些人在路上,而有些 ...
- Git快速入门-git stash 暂存变更,git reset 撤销commit,git revert 回退远程版本库
Git快速入门系列文章 - Git快速入门-安装配置篇 - Git快速入门-常用命令之独奏篇 - Git快速入门-常用命令之交响乐篇 - Git快速入门-git stash 暂存变更,git rese ...
- api网关选型_如何轻松打造百亿流量API网关?看这一篇就够了(下)
如何轻松打造百亿流量API网关?看这一篇就够了(上) 上篇整体描述了网关的背景,涉及职能.分类.定位环节,本篇进入本文的重点,将会具体谈下百亿级流量API网关的演进过程. 准备好瓜子花生小板凳开始积累 ...
最新文章
- linux 内核编译 错误 fatal error: linux/compiler-gcc6.h: No such file or directory
- oracle 输出重复记录,ORACLE 去除重复记录
- Delphi:ADOConnection连接SQLServer自动断网问题解决
- mysql o_Mysql数据类型
- sqlserver 查询某个时间段执行sql语句_为什么 SQL 查询不是先执行SELECT语句?
- python中break continue exit() pass区别
- 前端怎么自我介绍_未雨绸缪,小米前端实习面经
- 关于 flex 的资料
- 京东云魏伟:做最懂视频的云
- 国产浏览器 html5,老外评测国产浏览器 HTML5性能不俗
- 服务器dnf虚拟机多开吃显存吗,安卓模拟器多开对显卡有没有什么要求?
- 什么是软件验收测试?如何获取软件验收测试报告
- 0603-0605读书报告
- 贾俊平-第四章:数据的概括性度量
- 51单片机系列流水灯实现(附源码)
- 北邮 python 学堂在线动态请求页面内容爬取
- saber 2017 linux,DГ©jame contarte mГЎs encima de saber mujeres disadvantage plata
- 爬取博客园首页并定时发送到微信
- 华为防火墙图形登录配置
- 第四十三章 SQL函数 DATEDIFF