Gitee
作用:代码回溯、版本控制、多人协作、远程备份
Git概述
- Git简介
- Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通常GIt仓库来存储和管理这些文件,Git仓库分为两种:
- 本地仓库:开发人员自己电脑上的Git仓库
- 远程仓库:远程服务器上的Git仓库
- commit:提交,将本地文件和版本信息保存到本地仓库
- push:推送,将本地仓库文件和版本信息上传到远程仓库
- pull:拉取,将远程仓库文件和版本信息下载到本地仓库
- Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通常GIt仓库来存储和管理这些文件,Git仓库分为两种:
- 安装成功后,任意目录鼠标右键会出现:
- Git GUI Here:打开Git图形界面
- Git Bash Here:打开Git命令行
Git代码托管服务
-
常用的Git代码托管服务
- Git中存在两种类型的仓库,即本地仓库和远程仓库,那么我们如何搭建Git远程仓库呢?我们可以借助互联网上提供的一些代码托管服务服务来实现,其中比较常见用的有GitHub、码云、GitLab等
- GitHub(http://github.com/),是一个面向开源积及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名为GitHub
- 码云(http://gitee.com/),是国内的一个代码托管平台,由于服务器在国内,所以相比于Github,码云速度会更快
- gitlab(https://about.gitlab.com/),是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务
- BitBucket(https://bitbucker.org/),是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户
-
使用码云代码托管服务
- 使用码云的操作流程如下:
- 注册码云账号
- 登录码云
- 创建远程仓库
- 邀请其他用户成为仓库成员
- 使用码云的操作流程如下:
Git常用命令
-
Git全局设置
- 当安装Git后首先要做的事情就是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息
- 在Git命令行中执行下面命令:
- git config --global user.name “itcast”
- git config --global user.email “hello@itcast.cn”
- 查看配置信息
- git config --list
- 注意:上面设置的user.name 和user.email并不是我们在注册码云账号时使用的用户名和邮箱,此处可以设置
-
获取Git仓库
- 要使用Git对我们的代码进行版本控制,首先需要获得Git仓库。
- 获取Git仓库通常有两种方式:
- 在本地初始化一个Git仓库(不常用)
- 步骤:
- 在任意目录下创建一个空目录作为我们的本地仓库
- 进入这个目录中,点击右键打开GIt bash仓库
- 执行命令Git init
- 如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹),则说明Git仓库创建成功
- 步骤:
- 从远程仓库克隆(常用)
- 可以通过git提供的命令从远程仓库进行克隆,将远程仓库进行克隆,将远程仓库克隆到本地
- 命令形式:git clone [远程仓库的地址]
- 在本地初始化一个Git仓库(不常用)
-
工作区、暂存区、版本库概念
- 为了更好的学习Git,我们需要了解Git相关的一些概念,这些概念在后面的学习中会经常提到
- 版本库:前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息,日志信息和文件信息和版本信息等
- 工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发代码
- 暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
通过git add * 可以将库中的文件转到暂存区,在通过git commit命令可以将暂存区的文件放到git上进行统一管理
-
Git工作区中文件的状态
-
Git工作区中的文件存在两种状态
- untracked 未跟踪(未被纳入版本控制)
- tracked已跟踪(被纳入版本控制)
- unmodified 未修改状态
- modified 已修改状态
- staged 已暂存状态
注意:这些文件的状态会随着我们执行git的命令发生改变
-
-
本地仓库操作
- 本地仓库常用命令如下:
- git status 查看文件状态
- git add 将文件的修改加入暂存区
- git reset 将暂存区的文件取消暂存或者是切换到指定版本
- git commit 将暂存区的文件修改提交到版本库
- git log 查看日志
- git reset --hard 切换版本
- 本地仓库常用命令如下:
-
远程仓库操作
-
前面执行的命令操作都是针对的本地仓库,这段我们学习关于远程仓库的一些操作。具体操作包括:
-
git remote 查看远程仓库 -v 会将地址也显示出来
-
git remote add 添加远程仓库 运行==git remote add <shortname><url>==添加一个新的远程git仓库,同时指定一个可以引用的简写
-
git clone 从远程仓库克隆
-
git pull 从远程仓库拉取 作用是从远程仓库获取最新版本并合并到本地仓库 ,命令格式:git pull [short-name][branch-name]
- 注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories)
- 解决此问题可以在git pull 命令后加入参数 --allow-unrelated-histories
-
git push 推送到远程仓库 将本地仓库内容推送到远程仓库,git push [remote-name(origin)] [branch-name]
-
-
分支操作 分支是一个动态的概念,可以发生改变
-
使用分支操作可以把工作从开发线上分离开来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰
-
通过git init 命令创建本地仓库时默认会创建一个master分支
-
相关命令:
- git branch 查看分支 -r 列出所有远程分支 -a 列出所有本地分支和远程分支
- git branch [name] 创建分支
- git checkout [name] 切换分支
- git push [shortname] [name] 推送至远程仓库分支 name-》分支名称
- git merge [name] 合并分支
分支合并时冲突解决
- 1.先将修改好的文件,git add 文件名 命令将文件添加到暂存区,在使用 git commit -m “**” 文件名 -i 将文件提交到版本库,这样就可以解决冲突
-
-
标签操作 标签是一个静态的概念,相当于一张照片,一直不变。
- git中的标签,指的是某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。
- 比较有代表性的是人们会使用这个功能来标记发布结点。
- git tag 列出已有的标签
- git tag [name] 创建标签
- git push [shortName] [name] 将标签推送至远程仓库
- git checkout -b [branch] [name] 检出标签 检出标签时需要新建一个分支指向某个标签
在IDEA中使用Git
-
在Idea中配置Git
在idea中使用git,本质上还是使用的本地安装的git软件,所以需要idea中配置Git
-
获取git仓库
- 在idea中使用Git获取仓库有两种方式:
- 本地仓库初始化
- 从远程仓库克隆
解释从远程克隆下来的文件会产生一个.gitignore文件,这个文件是用来说明当前git仓库哪些文件不需要通过git管理
- 在idea中使用Git获取仓库有两种方式:
-
本地仓库操作
- 将文件加入暂存区 (红色的文件会变成绿色,如果是红色则为没有加入暂存区)
- 将暂存区的文件提交到版本库(绿色文件变为黑色文件,则提交到版本库)
- 查看日志
-
远程仓库操作
- 查看远程仓库
- 添加远程仓库
- 推送至远程仓库
- 从远程仓库拉取
-
分支操作
- 分支操作:
- 查看分支
- 创建分支
- 切换分支
- 将分支推送到远程仓库
- 合并分支
- 分支操作: