后端学习笔记—Git

目录

1、Git安装

1.1、Git环境配置

1.1.1 下载与安装

1.1.2基本配置

2、获取Git仓库

2.1 本地初始化仓库(不常用) git init

2.2 git仓库克隆(常用) git clone

3、Git常用命令

3.1、Git工作区中文件状态

3.2、本地仓库常用命令

3.3、 远程仓库常用命令

3.3.1、git remote 查看远程仓库别名(默认origin)

3.3.2、 git remote add [远程仓库别名] [url链接] 添加远程仓库

3.3.3、git clone [url链接] 远程仓库克隆

3.3.4 、git push [远程仓库别名] [当前分支] 推送代码至远程

3.3.5、git pull [远程仓库别名] [拉取分支] 从远程仓库拉取代码

3.4、分支操作常用命令

3.4.1、git branch 查看分支

3.4.2、git branch [分支名] 创建分支

3.4.3、git checkout [分支名] 切换分支

3.4.4、git push [仓库名] [分支名] 推送至远程仓库分支

3.4.5、git merge [分支名] 合并分支

3.5、标签操作常用命令

3.5.1、git tag 列出已有标签

3.5.2、git tag [标签名] 新建标签

3.5.3、git push [仓库别名] [标签名] 将标签推送至远程仓库

3.5.4、git checkout -b [分支名] [标签名] 检出标签(此处需要新标签)

4、IDEA集成Git

4.1、引入Git

4.2、本地初始化仓库

4.3、远程仓库克隆

4.4、.gitegnore文件含义

4.4.1、用码云创建带.gitegnore的仓库

4.5、本地仓库操作

4.5.1、添加至暂存区

4.5.2、提交、查看日志

4.6、远程仓库操作

4.6.1、添加远程仓库

4.6.2、推送至远程仓库

4.6.3、拉取至本地仓库

4.7、分支操作

4.7.1、创建分支

4.7.2、查看分支

4.7.3、切换分支

4.7.4、将分支推送到远程仓库

4.7.5、合并分支

Git操作总结:


1、Git安装

1.1、Git环境配置

1.1.1 下载与安装

下载地址:

Git - Downloads

下载完成后可以得到如下安装文件:

双击下载的安装文件来安装Git。安装完成后在电脑桌面(也可以是其他目录)点击右键,如果能够看

到如下两个菜单则说明Git安装成功

备注:

Git GUI:Git提供的图形界面工具

Git Bash:Git提供的命令行工具

当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息

1.1.2基本配置

1. 打开Git Bash

2. 设置用户信息

设置用户名(此处用户名不用与git账户一致):git config --global user.name “aliyev”

设置邮箱(此处邮箱不用与git绑定邮箱一致):git config --global user.email "[email protected]"

显示全局配置信息:git config --list

2、获取Git仓库

2.1 本地初始化仓库(不常用) git init

创建一个新文件夹用于仓库,执行git init初始化,出现.git隐藏文件夹则新仓库初始化成功

此处的路径即为本地仓库(新文件夹的路径)。

2.2 git仓库克隆(常用) git clone

将在git中创建的仓库链接复制,执行git clone git链接。

这是git仓库

在需要将仓库放在的文件目录下打开Git Bash,执行git clone 链接(这里以上述本地初始化仓库的上级目录为例)

没执行前

执行后:

3、Git常用命令

3.1、Git工作区中文件状态

Git工作区中的文件存在两种状态:

  • untracked 未跟踪(未被纳入版本控制)
  • tracked 已跟踪(被纳入版本控制)
    1. Unmodified 未修改状态
    2. Modified 已修改状态
    3. Staged 已暂存状态

3.2、本地仓库常用命令

  • git status (查看文件状态)
  • git add (将文件的修改加入暂存区)
  • git reset (将暂存区的文件取消暂存或者是切换到指定版本)
  • git commit (将暂存区的文件修改提交到版本库)
  • git log (查看日志)

以本地仓库helloGit为例:

  • 查看文件状态:

此时test.java文件和test.xml文件为未跟踪状态,即不受git版本管理

  • 将上诉两个文件移入暂存区(git add * )

此时两个文件颜色发生改变

  • 将test.java文件提交至版本库(git commit -m "日志名" test.java)

此时test用状态查看不了了,则test.java文件已经提交至版本库

  • 将test.xml取消暂存

test.xml文件又变成未跟踪状态

  • 对test.java文件进行修改,并查看其状态

此时test.java为已修改(modified)未提交状态

  • 将test.java提交至版本库,并将test.xml提交至版本库

  • 查看其状态

表明没有需要提交的文件,即文件已全部提交至git管理

  • 查看日志(git log)

红色标注为版本号,绿色为日志名

  • 版本回溯:git reset --hard 版本号

这是提交后的test.java文件下的数据

将版本回溯到最初的样子:

再次查看test.java文件:

此时回复到最初的样子。

3.3、 远程仓库常用命令

3.3.1、git remote 查看远程仓库别名(默认origin)

还记得前面我们使用仓库克隆的文件吧,以那个为例:

  • 查看别名

  • 查看详细信息(包含url地址)

3.3.2、 git remote add [远程仓库别名] [url链接] 添加远程仓库

还记得helloGit文件吗,那是一个本地仓库,现在,我们将它关联远程仓库

  • 查看远程仓库信息

此时我们看到无远程仓库信息

  • 添加远程仓库

首先,现在码云上创建一个helloGit的仓库

  • 初始化git仓库,点击上面的初始化readme文件

  • 将本地仓库helloGit与码云上的hello-git关联

  • 再次查看远程仓库信息

3.3.3、git clone [url链接] 远程仓库克隆

  • 查看本地仓库目录结构

  • 将远程仓库克隆到本地

  • 再次查看本地仓库目录结构

表明克隆成功!

3.3.4 、git push [远程仓库别名] [当前分支] 推送代码至远程

分支是什么后面再说!推送成功的前提必须得是远程仓库的成员。

  • 在克隆的远程仓库hello-git文件中,创建test.java并写上“你好,Git”,并将其提交至暂存区。

  • 将本地仓库代码推送至码云

  • 查看码云

3.3.5、git pull [远程仓库别名] [拉取分支] 从远程仓库拉取代码

  • 在远程仓库hello-git中,修改test.java文件

  • 查看远程克隆的本地仓库中的test.java文件

此时无改变

  • 将码云中的代码拉取到本地

  • 再次查看本地test.java文件

拉取成功!

常见问题

上述操作都是建立在我们的本地仓库是从马云远程克隆得到,如果本地仓库是我们初始化得到的还能拉取成功吗?

咱们试一试:这里采用上述通过本地初始化的helloGit仓库,已经与远程仓库hello-git相关联

开始拉取代码:

这是成功了吗?我们去文件看看!

好像没什么变化!!!那是什么原因呢?

因为该仓库只是简单与远程仓库关联了而已,关联的历史记录不同,所以无论是拉取代码,还是提交至远程仓库都不行。解决方法是:在git pull命令后加参数 --allow-unrelated-histories

输入后进入到该输入行窗口,输入i,进入插入模式,随便输入一个信息,然后按esc,再按冒号wq,即可!

出现下述信息表示拉取成功!

查看helloGit文件目录

此时我们上传代码至码云也不会有什么问题了!!!

3.4、分支操作常用命令

什么是分支?

分支是Git使用过程中非常重要的概念。使用分支可以把工作从开发主线上分离开来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。通过git init命令创建本地仓库时默认会创建一个master分支。

3.4.1、git branch 查看分支

  • git branch 查看当前分支

  • git branch -r 查看当前关联远程仓库分支

  • git branch -a 查看所有分支

3.4.2、git branch [分支名] 创建分支

  • 在helloGit仓库下创建a,b,c三个分支

此处*号指的就是当前分支

3.4.3、git checkout [分支名] 切换分支

  • 切换至c分支

3.4.4、git push [仓库名] [分支名] 推送至远程仓库分支

为了区分分支的作用,以下内容认真看哦!!

  • 在a分支下创建a.txt文件,并将其加至暂存区。

  • 切换b分支

发现a.txt文件不在了

  • 在b分支下创建b.txt文件,并将其加至暂存区,再切换至a分支

此时b.txt文件不在了,a.txt文件又回来了,这就是分支的作用!

  • 将所有分支推送至仓库

  • 查看码云分支情况

  • 查看a分支

此时a分支下有a.txt。

  • 查看b分支

b分支有b.txt,推送成功!!

3.4.5、git merge [分支名] 合并分支

  • 将a分支和b分支合并至master主分支(需要先切换至master分支)

常见问题

假设修改主分支a.txt,和a分支下的a.txt并加至暂存区重新合并试试!()

  • a分支下的a.txt内容

  • 主分支下的a.txt文件

  • 合并

此时显示让我们解决完冲突再提交!我们打开主分支下的a.txt看看

这好像不是我们预期的效果,这就需要我们手动解决了,删除不必要的部分!

然后重新加至暂存区,重新提交!

这是啥情况!!原来是提交内容不能是部分内容,解决方法在git commit命令后追加-i即可

  • 提交至码云

  • 查看码云

3.5、标签操作常用命令

什么是标签?

标签用于存放当时情况的master分支的状态,是一个静态概念,类似于jar包中的版本号。

3.5.1、git tag 列出已有标签

3.5.2、git tag [标签名] 新建标签

  • 创建 v1.0,v2.0标签

3.5.3、git push [仓库别名] [标签名] 将标签推送至远程仓库

3.5.4、git checkout -b [分支名] [标签名] 检出标签(此处需要新标签)

  • 该操作就是将标签记录下的master状态加至新分支

  • 查看码云

4、IDEA集成Git

4.1、引入Git

4.2、本地初始化仓库

4.3、远程仓库克隆

方式一:

方式二:

4.4、.gitegnore文件含义

里面所写为不受git管理的文件

4.4.1、用码云创建带.gitegnore的仓库

4.5、本地仓库操作

4.5.1、添加至暂存区

4.5.2、提交、查看日志

4.6、远程仓库操作

4.6.1、添加远程仓库

4.6.2、推送至远程仓库

4.6.3、拉取至本地仓库

4.7、分支操作

4.7.1、创建分支

4.7.2、查看分支

打开即可看到所有分支

4.7.3、切换分支

4.7.4、将分支推送到远程仓库

4.7.5、合并分支


Git操作总结:

  1. 在新添加文件或者修改原有文件时,必须先用git add [文件名或*]将文件加至暂存区;
  2. 加至暂存区的文件还需提交至本地仓库,采用git commit -m "操作名" 文件名或*
  3. 当需要将远程仓库文件拉至本地仓库时,若本地仓库是远程仓库克隆而来,直接git pull [仓库别名] [分支],若本地仓库是手动初始化的,需要使用git pull [仓库别名] [分支] --allow-unrelated-histories,有时候拉取不到可以试试git commit -a;
  4. 在将代码上传至码云需要使用git push [仓库别名] [分支名],尽量保证码云里面有的文件,项目里面有。
  5. 养成随时使用git status的习惯,防止有文件没加至暂存区;

猜你喜欢

转载自blog.csdn.net/qq_61544409/article/details/129105879