目录
Git简介
什么是版本控制?
集中式版本控制
分布式版本控制
Git概念
Git优点
Git工作流程
工作区
暂存区
版本库
远程仓库
局域网
互联网
总的流程
在本地安装Git
安装git
Git常用的一些命令
Idea集成Git并添加项目到git仓库
1.idea集成git
2.初始化本地Git仓库项目
3.添加到缓存区
4.提交到本地仓库
5.Git本地库操作
Gitee
Gitee简介
使用
Idea集成Gitee并提交代码到第三方仓库
1.下载gitee插件
2.添加Gitee账号编辑
3.推送本地仓库代码到远程仓库编辑
4.从远程仓库下载/克隆编辑
编辑5.更新远程仓库到本地
6.仓库的基本管理
7.冲突解决
【前言】:本篇主要介绍Git,git工作流程,以及集成等。如有错误,还请多多斧正。
首先,在将git之前有必要说一下这个版本控制。
版本控制是对软件开发过程中的代码程序,配置文件等等变更的管理,这也是软件配置管理的核心思想之一。
通俗一点来说,就是一个代码仓库。
主要解决两个问题,一是记录一个文件多次修改的历史记录,生成多个不同的版本号;
二是在团队开发过程中可以多人共享代码。
版本控制又分为集中式版本控制和分布式版本控制;
所有开发者共同使用一个服务器仓库,这个服务器仓库记录所有文件的历史版本
优点:每个人都可以在一定程度上看到项目中的其他人正在做些什么,管理员可以集中管理,比起在本地数据库管理更为轻松。
缺点:如果因为服务器的问题而使版本记录丢失,其他开发者本地是没有历史版本的,如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。
优点:没有网络时,可以在本地进行开发,等到有网的时候再更新到远端仓库;
即使服务器出现问题导致最新版本丢失,每个开发者本地也保存了历史版本。更新到服务器 仓库即可恢复。
一句话:容易学习,内存小,效率高。
在介绍git工作流程之前,首先来认识几个名词概念,磨刀不误砍柴工。
写代码的区域,就是你在电脑里能看到的目录,在本地磁盘创建项目(一般在开发工具中完成).
可以理解为缓存区,英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,添加工作区代码到暂存区,暂存区代码是临时存储,可以撤销.
也叫本地仓库,工作区有一个隐藏目录 .git,是 Git 的版本库,提交暂存区代码到本地仓库,生成历史版本记录,历史版本记录不可删除,可以查看不同时期提交的历史记录,和其他版本做比较.
代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库
GitLabe
GitHub(国外的网站)
https://github.com/
Gitee 码云 (国内网站)
https://gitee.com/
下面来解释一下各个"圆柱"与"箭头"的含义。
workspace:工作区
staging area:暂存区/缓存区
localrepository:本地仓库
remote respository:远程仓库/服务器仓库
add:将工作区代码添加到暂存区
commit:暂存区代码提交到本地版本库(这一步在本地仓库生成历史版本)
push:本地版本库代码推送到远程仓库
pull:从远程仓库拉取代码到本地
这里的a.txt 只是一个文件名,并不是固定命令代码
git add a.txt 添加到缓存区
git commit a.txt 提交到本地仓库
git reset a.txt 从缓存区撤回
git clone 地址 从所使用的地址上克隆/复制项目
安装完成后先来简单演示一下
1.在任意外置创建一个文件夹,在这个文件夹里创建热恩以一个文件
我这里在桌面创建一个git文件夹里面放了一个hello.txt这样一个文件
2.打开Git Bash 命令窗口(右键空白处打开即可)
打开之后就会出现这样一个窗口
初始化一个git仓库
代码:第一个git是GitBush固定命令 第二个则是初始化仓库文件名
git init git
添加一个文件到缓存区
首先进入到这个文件夹中操作
代码:进入到这个文件夹
cd git
添加
git add hello.txt
查看缓存区
代码:
git ls-files
撤销缓存区的文件
代码: 撤销所有文件
git reset .
撤销指定文件
代码:
git reset hello.txt
这里我只添加了一个文件,撤销之后就没有了,所以不显示
注意:这里要提交到本地仓库时要设置一个邮箱,与名字,邮箱最好选择自己经常使用的,这在后面还会用到,需要验证。
提交到本地仓库
git config --global user.email "自己的邮箱"
git config --global user.name "Your Name"
代码:
git commit -m 注释
必须写注释,不然无法运行
查看仓库状态
代码:
git status
就可以看到提交状态了
创建一个maven项目
这里可选可不选,本次集成暂时用不到
在file setting中
下载一个.ignore插件帮助我们管理过滤文件
生成.gitignore文件
先来查看一下历史版本
还可以选择历史版本来覆盖现在的版本。
码云 开源中国 出品 git代码托管平台
https://gitee.com/
注册,不用我多说了,作为21世纪新青年,不用我说,大家都知道。
登录后在个人中心完善信息,补全电话或邮箱。
设置公钥,可以点击查看怎样生成公钥并设置,相信Gitee使用说明比我更容易使大家理解。
搜索下载安装即可
这里是我的ssh代码,当让要克隆复制,就要知道取药复制的链接
这里我直接从远程仓库修改模拟管理员从本地推到远程仓库的新版本
更新前:
更新
网站上都比较好操作,
设置开源啊,什么仓库成员管理等等,就不做过多赘述了。
什么原因导致的呢?
A在更新到远端仓库时,B在A之前推送到远端仓库,并且和A推送的是同一个文件,同一段代码,B推送完成后,A没有更新到本地导致的。
我接下来模拟一下。
首先我在远端仓库修改代码,模拟其他成员推送过的新版本。
这是服务器最新代码(默认我不知道):
这是我也要推送我的代码
当然这也是有解决办法的
根据实际添加替换即可。
【尾言】:现在你已经对git及其工作流程有了大致了解,快去上手试试吧。