文章目录
一、什么是Git
Git是一个分布式的版本控制工具,通常使用Git来管理和存储软件开发过程的源代码文件。
Git仓库分为两种:
- 本地仓库:自己电脑上的仓库
- 远程仓库:远程服务器上的Git仓库
- 主要指令
- commit:提交,将本地文件和版本信息保存到本地仓库
- push:推送,将本地仓库的本地文件和版本信息推送到远程仓库
- pull:拉取,从远程仓库拉取文件和版本信息到本地仓库
二、下载安装
下载地址:https://git-scm.com/download
下载之后是exe文件,按照步骤安装即可
三、Git代码托管服务
Git中存在本地仓库和远程仓库,那么我们怎么搭建和使用Git远程仓库呢?
我们可以借助一些代码托管服务来实现,例如
- gitHub
- 码云
- GitLab
- BitBucket
- 等等
四、创建远程仓库
以码云为例,访问码云官网,注册账号:https://gitee.com/
注册完账号之后点击右上角头像旁边的+号,就可以创建远程仓库
创建成功之后,会得到你的远程仓库的唯一的一个地址
我们后续推送代码到远程仓库时,都会使用该地址。
五、Git的常用命令
5.1 Git的全局设置
git在安装之后,需要进行全局设置,设置用户名称和email地址,在任一目录下点击鼠标右键,选择Git Bash Here,就可以使用Git的相关命令
输入以下git 命令设置用户 和邮箱
git config --global user.name "dong" //可以任意设置,它就是起一个标识符的作用,下面邮箱也一样
git config --global user.email "jundong@.com"
设置完之后,可以使用 git config --list 命令查看配置
注意:此处设置的用户名和邮箱,和我们登录码云的用户名邮箱没有关系,可以任意设置。
5.2 获取Git仓库
要使用Git来对我们的代码进行版本控制,首先要做的就是获取Git仓库。
获取Git仓库常用的两种方式
-
在本地初始化一个Git仓库(git init)(本地初始化的仓库不会和远程仓库建立连接,需要指))
- 主要使用 git init命令
- 操作步骤
- 在任意一个目录下创建一个目录,该目录就是我们的本地仓库
- 进入该目录点击右键,在Git Bash中输入命令 git init
- 此时就已经在我们本地初始化了一个本地仓库
- 初始化的目录会新增一个.git的文件
-
从远程仓库克隆(git clone)
-
这就需要用到在码云创建仓库时的地址了
-
复制该地址,在任意目录下打开Git Bash
-
输入命令git clone 【远程仓库地址】
-
此时就会自动在该目录下创建一个本地仓库
-
5.3 工作区、暂存区、版本库的概念
- 版本库:初始化化本地仓库之后,那个.git隐藏文件就是版本库,版本库中保存了很多配置信息、日志信息和文件版本信息等
- 暂存区:在.git的文件夹中有很多文件,其中有一个叫index的文件就是暂存区,也可以叫做stage。暂存区是用来临时保存修改文件的(工作区中存在文件,才会有暂存区)。
- 工作区:包含.git文件的目录就是工作区,也称为工作目录,主要用于存放开发代码。
5.4 工作区中文件的状态
- untracked 未跟踪(没有被纳入版本控制)
- tracked 已跟踪(纳入版本控制)
- Unmodified 未修改状态
- Modified 已修改状态
- Staged 已暂存状态
- 可以通过命令 git status查看文件状态
- 这些文件的状态会睡着我们执行git命令而发生改变
5.5 操作本地仓库的常用命令[ ]中的为参数
可以根据命令,动手操作一遍
命令 | 描述 |
---|---|
git status | 查看工作区文件状态 |
git add [加到暂存区的文件] | 将文件的修改加入暂存区 |
git reset [–hard] [穿越版本id] | 将暂存区的文件取消暂存或者是切换到指定版本(–hard 后跟上提交的版本号) |
git commit -m [本次提交的描述] [需要提交的文件] | 将暂存区的文件修改提交到版本库 |
git log | 查看日志 |
5.6 远程仓库操作
命令 | 描述 |
---|---|
git remote -v | 查看远程仓库 |
git remote add [仓库简称] [仓库地址] | 添加远程仓库 |
git clone [远程仓库地址] | 从远程仓库克隆 |
git pull [short_name] [branch-name] | 从远程仓库拉取文件到本地仓库 |
git push [remote-name] [branch-name] | 将本地仓库的文件推送到远程仓库 |
在第一次使用git push推送命令时,一般会先进行身份验证(输入码云的用户名和密码)
注意:如果本地仓库是使用init进行初始化的,并且远程仓库和本地仓库中都存在文件,此时在从远程仓库拉取文件会报错(fatal:refusing 提merge unrelated histories)
可在git pull的后面添加参数 --allow-unrelated-histories 解决。
5.7 分支操作
同一个仓库可以有不同的分支,并且不同的分支内容可以不同。
命令 | 描述 |
---|---|
git branch | 查看分支 默认查看本地分支 -r查看远程分支 -a查看本地和远程分支 |
git branch 【name】 | 创建分支 |
git checkout 【name】 | 切换分支 |
git push 【shortName】【name】 | 推送至远程仓库分支 |
git merge 【name】 | 将其他分支的内容合并到当前分支 |
分支合并产生冲突时,在原文件中,根据实际情况选择需要的内容,然后再次添加暂存区,在次提交,push,如果push的时候出错,可在后面添加 -i参数
5.8 标签操作
git 中的标签,指的是某个分支某个特定时间点的状态,通过标签,可以很方便的切换到标记时的状态。
比较具有代表性的就是在发布新功能时,使用标签来标记节点(比如V10,V10.1)等。
命令 | 描述 |
---|---|
git tag | 列出已有标签 |
git tag 【name】 | 创建标签 |
git push 【shortName】【name】 | 将标签推送至远程仓库 |
git checkout -b 【branch】【name】 | 检出标签 |
标签保存的是静态内容,一旦打了标签,标签内的内容就不会再更改。
六、在IDEA中使用Git
6.1 在IDEA中配置Git
在idea 的中设置中,选择Git 的安装路径即可。
6.2 获取仓库
- 本地创建仓库
- 远程仓库克隆
从远程仓库克隆项目之后,会存在一个文件.gitgnore,可以在这个文件中配置不需要git管理的文件,也就是不需要上传至远程仓库的文件。
6.3 本地仓库的操作
红色:没有添加暂存区
绿色:添加到暂存区
正常颜色:提交到版本库
-
将文件添加至暂存区
-
将暂存区的文件提交到版本库
或者
-
查看日志
6.4 远程仓库操作
- 查看远程仓库
- 添加远程仓库,也是一样的,点击加号即可。
- 推送至远程仓库
- 从远程仓库拉取
6.5 分支操作
或者在右下角
对其分支的查看、创建、切换(点击相应分支)、推送至分支(点击相应的分支)、合并分支(点击相应的分支)都是在其窗口进行。
总结:
在推送项目到Git中时,首先要先将项目添加至暂存区(git add),然后将暂存区的代码提交到版本库(git commit)
最后推送到远程仓库,如果是init的本地仓库,需要绑定远程仓库(git remote add)。
其次是分支的操作 git branch、标签 git tag等。
最后是在IDEAl中使用Git,在IDEA中使用Git比较方便和只管,特别是对于分支操作,建议多熟悉Git的相关指令,在使用IDEA的图像化界面操作Git。