一、git介绍

git代码管理软件,和git(分布式管理,服务端挂掉,本地还可以继续做版本管理,代码合并)类似的还有SVN(集成式管理,服务端挂掉就做不了版本管理,代码合并)但是几乎不怎么用,目前在行业里95%的概率用的是git,还有4.99%用的是SVN,那0.01%可能是有些小型公司不用代码管理,但是这样又有点奇怪。哈哈哈anyway!git是国际最大的代码管理平台,国内也有类似的Gitee,无论是git或者Gitee能做的事情是做代码管理帮助开发者合并开发的代码,协同开发;如果出现冲突代码的合并,会提示后提交合并代码的开发者,让其解决冲突;代码版本管理



二、下载安装git软件

Windows系统下载入口



选择版本



在计算机下载目录双击



之后可以选择安装地址,也可以勾选创建快捷方式图标之类的设置

其他的不用太在意,如果的你英语非常nice的话可以看得懂,那是李另一回事儿

win +R cmd 进入敲git之后如果有反应就说明成功了



或者在桌面右键可以看到如下结果也可以

三、基本使用

第一个要敲的命令是 git init 初始化仓库 ,当前文件夹多出 .git 文件夹,这个文件夹不要删,如果删除,这就不是git仓库了,之前的版本再也找不回来了,也不能被git管理 该命令只需要使用一次,后面就不用了



第二个命令是 git status 查看文件变化在 .git 所在文件夹下【只看暂存区和工作区】

红色说明:工作区变化了,但是没有提交到暂存区

绿色说明:已经提交到暂存区,没有提交到版本库

没有说明:所有东西都在版本库中了【所有文件都被git管理起来了】

Git的工作流程



第三个命令是git add folder name 或者 git add . 这个命令把工作区变更提交到暂存区写点的话当前路径下所有变更都提交,还可以指定文件

设置作者(全局,局部)

全局的意思是当前操作系统下所有仓库,提交到版本库时,都用这个作者局部只针对于当前仓库

git config --global user.email "3014885197@qq.com"

git config --global user.name "米热"


必须要先执行以上的设置作者的命令,才能提交版本库,在版本库之后没有任何瑶瑟提示

第四个命令是 git commit -m '提交了1.txt' 把暂存区所有内容,提交到版本库作为一个版本

第五个命令是 git loggit reflog 查看版本信息reflog是比较简洁一点

第六个命令是 git reset --hard version num

四、制作忽略文件

在仓库目录下(.git 所在目录下)新建 .gitignore文件,没有后缀名,之后在这个文件里面写上需要忽略掉的文件名。

文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤

/文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤

例如:

a.txt:项目中所有a.txt文件和文件夹都会被过滤

/a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤

/b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤

x:名字中有一个x的都会被过滤(*代表0~n个任意字符)

空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件)

五、Git、Gitee、GitHub、Gitlab、bitbucket的区别

  • git:版本管理软件,装在操作系统上,有很多命令
  • gitee:远程仓库:开源代码,私有代码,有个网站,可以看到有哪些开源代码,通过网站做一些配置,国内最大的开源远程仓库
  • github:远程仓库:开源代码,私有代码,有个网站,可以看到有哪些开源代码,通过网站做一些配置,国际上最大的开源远程仓库
  • gitlab:公司内部的远程仓库
  • bitbucket:只有私有仓库,远程代码仓库

六、基础代码操作分类

  • 必须记住
git add  # 工作区内容提交到暂存区
git commit -m '注释' #暂存区内容提交到版本库
git reset --hard 版本号 # 回到某个版本
  • 必须会用
git init  # 初始化
git status # 查看工作区、暂存区
git log # 查看版本库里面的版本号,详细
git reflog # 查看版本库里面的版本号,简洁
  • 需要了解
# 设置作者(邮箱和名字),没有这个操作,提交不了版本库
git config --global user.email "3014885197@qq.com"
git config --global user.name "米热"

最新文章

  1. 合并分区(merge range)对事务日志的影响
  2. storm启动过程之源码分析
  3. 一个很详细的web.xml讲解
  4. [实变函数]2.5 Cantor 三分集
  5. Linux解压 tar命令
  6. HDU 2222 Keywords Search(AC自动机模板题)
  7. Socket 相关的知识
  8. centos6 安装mysql
  9. 《深入理解Java虚拟机》学习笔记之工具
  10. android studio 2.3 下载地址
  11. 转:The Difference Between a LayoutTransform and a RenderTransform
  12. SharePoint 2013 APP 开发示例 (四)JQuery访问REST
  13. POJ1287 Networking【最小生成树】
  14. panda核心数据结构
  15. ORM版学员管理系统1
  16. iOS.ARM-Assembly
  17. SpagoBI 教程 Lesson 2: OLAP with JPIVOT
  18. php.ini中的pcre
  19. atitit.GUI图片非规则按钮跟动态图片切换的实现模式总结java .net c# c++ web html js
  20. springboot整合spring data jpa 动态查询

热门文章

  1. 自己动手基于 Redis 实现一个 .NET 的分布式锁
  2. MySQL事务(四大特性)-存储过程
  3. 自定义RBAC(5)
  4. 搭建漏洞环境及实战——在Linux系统中安装LANMP
  5. JavaScript:严格模式"use strict"
  6. Profiler导致的严重性能问题
  7. 迁移学习(MixMatch)《MixMatch: A Holistic Approach to Semi-Supervised Learning》
  8. Java进阶篇——springboot2源码探究
  9. App几个可能造成内存泄漏的情况:
  10. Ubuntu 安装 Anaconda