git

介绍

1.什么是版本控制

本质是一个代码仓库,,解决俩件事情:

1>记录每次的版本变更(文件的历史记录)

2>团队的并行开发,多人代码共享

2.什么是git

git是一个开源的,分布式的版本控制工具,效率高

缺点:

模式上比svn更加复杂

不符合常规思维

保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息

优点:

适合分布式开发,强调个体

公共服务压力和数据量都不会太大

速度快,灵活

任意俩个开发者之间可以很容易得解决冲突

离线工作

集中式版本控制

如:CVS, SVN , 只有一个中央服务器

好处: 操作简单;文件夹级权限控制,权限控制力度小;对客户端配置要求不高,无需存储全部代码

缺点:这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,

那么在这一小时内,谁都无法提交更新,也就无法协同工作;还有必须网络环境高(有网)

分布式版本控制

如: git ,在每一个程序员电脑上,都会安装一个客户端(本地仓库)

优点:

1.版本库本地化,版本库的完整克隆,包括标签、分支、版本记录等。

2.支持离线提交,适合跨地域协同开发。

3.分支切换快速高效,创建和销毁分支廉价。

 缺点

1.学习成本高,不容易上手。

2.只能针对整个仓库创建分支,无法根据目录建立层次性的分支。

3.git工作流程
3.1本地工作流程及基本概念

工作区 -->添加至(add) --> 暂存区 --> 提交到(commit) -->本地库

工作区: 在电脑上创建的文件,看得见

暂存区: 英文叫 stage 或 index , 临时的代码存储,可以撤销

本地库: 把暂存区的代码提交到本地库,就会生成历史版本的记录,历史记录不会被删除

3.2完整的运行流程(本地库与远程仓库)

 

工作区 -->添加至(add) --> 暂存区 --> 提交到(commit) -->本地库 --> 推送到(push) --> 远程仓库

3.3远程仓库

远程仓库:也叫服务器仓库,多个开发者共享的

4.git基本操作

借助git创建管理本地仓库

创建仓库:D:\gitTest

命令行窗口进入所在目录(同级)右键Git Bash

初始化一个仓库 git init 项目

把工作区代码添加到 暂存区 git add 文件名/ . 所有

设置一个邮箱和用户名

git config --global user.email "you@example.com"

git config --global user.name "Your Name"

提交到本地仓库: git commit -m 注释

查看仓库状态git status

克隆项目git clone 地址

idea中集成git

1. 集成git.exe文件

 

 2.初始化本地仓库(淡淡蓝色)

VCS:版本控制系统(Version Control System / Revision Control System,或者叫做源码控制系统Source Control System,简称VCS),是软件开发人员最常用的工具之一。

 

3.把工作区代码添加到暂存区(绿色文件名)

 

4.添加至暂存区 (黑色文件名)

忽略一些不需要提交的文件(.idea target)

在idea中下载添加一个ignore插件 设置忽略文件

git commit -m 提交工作区代码到暂存时,会自动忽略不需要提交的文件

 

5.git本地库基本操作

查看历史版本记录

使用指定历史版本覆盖

版本对比

 

6.远程仓库(服务器仓库)

解决多个人共享同一份代码

如何搭建远程仓库?

1.在某一个人的电脑安装GitLabe(服务器仓库),在同一个局域网中就可以访问了

公司也可以在自己的云服务器上搭建

2.借助一些第三方的平台(github, gitee)

Git 是版本控制工具

GitHub(国外的代码托管平台 网速比较慢)

Gitee (码云 国内的一个代码托管平台) 是第三方代码托管平台

使用gitee

注册账号 --> 登录 --> 个人中心--->邮箱管理--->添加经常使用的邮箱

本地生成公钥(官方有详细教程)--> 添加到个人中心 使用

在idea中添加gitee插件,并且添加自己注册的gitee账号

 

 

将本地仓库代码 推送到(push) 到远程仓库

将远程仓库代码更新到本机 pull

 

将gitee仓库里面的某个项目设置成开源,就可以被别人访问下载

添加项目成员, 允许编辑后提交

解决成员之间 写的代码冲突,应尽量避免

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐