Git工具的使用

Git概述

一般工作流程如下:

从远程仓库中克隆 Git 资源作为本地仓库; 从本地仓库中checkout代码然后进行代码修改;
在提交本地仓库前先将代码提交到暂存区;
提交修改,提交到本地仓库;本地仓库中保存修改的各个历史版本;
在需要和团队成员协作开发时,可以将修改代码push到远程仓库

在这里插入图片描述

工作目录下的每一个文件都不外乎这两种状态:已跟踪 tracked 或 未跟踪untracked

  1. 已跟踪的文件是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,
    它们的状态可能是未修改,已修改或已放入暂存区。简而言之,已跟踪的文件就是 Git 已经知道的文件。

  2. 工作目录中除已跟踪文件外的其它所有文件都属于未跟踪文件,它们既不存在于上次快照的记录中,也没有被放入暂存区。
    初次克隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态,因为 Git 刚刚检出了它们, 而你尚未编辑过它们。

  3. 编辑过某些文件之后,由于自上次提交后你对它们做了修改,Git 将它们标记为已修改文件。
    在工作时,你可以选择性地将这些修改过的文件放入暂存区,然后提交所有已暂存的修改,如此反复。
    在这里插入图片描述

本地仓库命令

  • git status 查看文件状态
  • git init 初始化
  • git add 将文件的修改添加到暂存区
  • git commit 将暂存区的文件修改提交到版本库
  • git reset 将暂存区的文件取消暂存或切换到指定版本
  • git log 查看日志

例如:在git_data文件夹内新建一个文件Studebt.java

在这里插入图片描述

第一步先执行git init初始化git版本库,然后执行git add *把Student.java文件纳入了版本控制,所以显示为绿色。
执行完第一张图,再创建hello.java文件而不执行git add命令,则hello.java文件没有被纳入版本控制,会变红。
在这里插入图片描述
此时再执行git add * 命令则会把hello.java纳入版本控制。如下图:
在这里插入图片描述
git commit -m "aaa"提交命令,-m为注释, 后面引号内容为注释内容
在这里插入图片描述
此时如果修改文件中的内容:
在这里插入图片描述
执行git status指令后文件会变为modified变红状态
在这里插入图片描述
再次添加即可恢复,放到暂存区:
在这里插入图片描述
执行git log打印log日志,可以看到commit后面的版本号
在这里插入图片描述
使用reset命令可以回到版本号之前的状态
在这里插入图片描述

远程仓库命令

前面执行的命令是针对本地仓库进行操作,下面是远程仓库命令操作介绍:

  • git clone 从远程仓库克隆
  • git remote 查看远程仓库
  • git remote add shortname 添加远程仓库
  • git push 推送到远程仓库
  • git pull 从远程仓库拉取

执行git clone指令后
若要查看已经配置的远程仓库服务器,可以输入git remote 命令,它会列出每一个远程服务器的简写;
若已经克隆了远程仓库,那么至少能看到origin,这是Git克隆的仓库服务器的默认名字。

在这里插入图片描述
在刚克隆的文件夹中新建个hello.txt文档,并提交,然后使用push命令将文件推到github上面:
(需注意:在使用git push 命令将本地文件推送至github仓库时,需要进行身份认证,认证通过才可以推送)
在这里插入图片描述
在这里插入图片描述
打开github,文件存在,表示已经上传上去,其中master表示默认主分支
在这里插入图片描述
随意编辑下hello.txt文件
在这里插入图片描述
重新将text.txt加入到暂存区,提交,并推到github上面
在这里插入图片描述
在这里插入图片描述
github远程仓库上面显示内容:
在这里插入图片描述

分支操作

在进行版本控制时,使用分支意味着可以把任务从开发主线上分离开来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立;通过git init 命令创建本地仓库时默认会创建一个master分支。
关于分支的相关git命令,具体如下:

  • git branch 查看本地所有分支
  • git branch -r 查看远程仓库所有分支
  • git branch -a 查看本地和远程所有分支
  • git branch [name] 创建分支
  • git checkout [name] 切换分支
  • git push [shortName] [name] 推送至远程仓库分支
  • git merge [name] 合并分支

首先演示git branch、git branch -r、git branch -a
在这里插入图片描述
创建dev1、dev2分支,checkout命令是切换分支,后面括号里写什么就代表代码在那个分支上。
在这里插入图片描述
将dev1分支上传到远程仓库,dev1–>dev1是指本地dev1到远程dev1。
在这里插入图片描述
github仓库显示,此时dev2分支还没有上传到仓库,因此仓库里还没有dev2分支
在这里插入图片描述
然后给master分支上传了一个新文件;
期间遇到了这个问题:
Another git process seems to be running in this repository, e.g.
an editor opened by ‘git commit’. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.
在这里插入图片描述
导致文件无法进行git commit操作,解决方法:找到.git下的index.lock,删除即可
在这里插入图片描述
index.lock原因分析:
在进行某些比较费时的git操作时自动生成,操作结束后自动删除,相当于一个锁定文件,目的在于防止对一个目录同时进行多个操作。有时强制关闭进行中的git操作,这个文件没有被自动删除,之后你就无法进行其他操作,必须手动删除。

再执行git commit发现上传成功;
在这里插入图片描述
将master分支上传到远程仓库
在这里插入图片描述
接下来切换到master分支,看看master分支上都有什么文件:
在这里插入图片描述
在这里插入图片描述
dev1分支上传到仓库,相比master少了test.txt文件
在这里插入图片描述
给dev2分支创建mark.txt文件,并将dev2分支上传到远程仓库
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/94e3ce4110924a23920784925c69492c.png

将mark.txt文件添加到master分支并上传
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e266cc21ce2942cebc8895edd4c307ea.png

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/37b3e1a0365a4447ae4f2d023708a632.png
此时如果将master分支和dev2分支合并,会发生错误,因为master分支中的mark.txt文件和dev2分支下的mark.txt文件冲突,内容不一样

若master分支中的mark.txt文件和dev2分支下的mark.txt文件内容一样则不会有冲突,能正常合并。
在这里插入图片描述
在这里插入图片描述

标签操作

Git中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。
大家会使用这个功能来标记发布结点如v1.0、v1.1等

标签常用命令

  • git tag 列出已有的标签
  • git tag [name] 创建标签
  • git push [shortName] [name] 将标签推送至远程仓库
  • git checkout -b [branch][name] 检出标签
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    v1标签下的文件
    在这里插入图片描述
    在这里插入图片描述
    v2标签下的文件
    在这里插入图片描述
    可以看出两个标签的状态是不一样的

IDEA上执行Git

将我们在前面创建的文件导入idea中,创建两个controller类
在这里插入图片描述
第二种方式,点击图中的箭头也可以提交
在这里插入图片描述
图中也可以管理远程仓库,填写仓库的路径即可
在这里插入图片描述
下图为将idea中的项目推送到远程仓库
在这里插入图片描述

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值