git学习

git版本管理

linux开发者为了维护git版本而开发的,后来就产生了windows版本了。
Git是分布式版本控制器系统,它没有中央服务器,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了。因为版本都是在自己的电脑上。既然每个人电脑都是一个完整的版本库,那么多个人如何协作呢?比如说自己电脑上改了文件A 其他人电脑上改了文件A ,这时,你们两之间只需把各自的修改推送给对方,就可以相互看对方的修改了。
在这里插入图片描述
git工作流程
一般工作流程如下:
1.从远程仓库中克隆Git资源作为本地仓库
2.从本地仓库中checkout代码然后进行代码修改
3.在提交前先将代码提交到暂存区
4.提交修改。提交到本地仓库。本地仓库中保存修改的各个历史版本
5.在修改完成后,需要和团队成员共享代码时,可以将代码push到远程仓库
软件下载
https://git-scm.com/download
软件下载安装完毕以后,要先创建一个本地版本库
新建一个空文件夹,然后进入该文件夹 右键在这里插入图片描述
结果如下所示:在这里插入图片描述
这时候,在该文件夹下面新建一个hello.txt文件夹
在这里插入图片描述
在这里插入图片描述
对其进行添加
结果如下:
在这里插入图片描述
这时候把文本文件加到暂存区。
这时候进行提交
在这里插入图片描述
这时候需要写一个日志:
在这里插入图片描述
下面那个箭头代表已经添加到暂存区了,上面那里写日志消息
在这里插入图片描述
这时候,代表hello.txt已经提交完毕了。
修改文件并提交

先进行查看本地仓库内容
在这里插入图片描述
在这里插入图片描述
这时候就可以看到本地仓库内容了
在这里插入图片描述
对文件进行修改
在这里插入图片描述
在这里插入图片描述
这时候代表文件有修改,这时候需要进行修改
在这里插入图片描述
这时候,就会有一个历史了
在这里插入图片描述
这样就可以看历史了。
在这里插入图片描述
看到对文件有两次修改
一次是添加一次是修改。
如果要看差异
就选中两次,然后看差异:
在这里插入图片描述
这就可以看到差异了
文件删除
先新建一个文件hello2.txt添加到本地文件
先进行添加一个文件 结果如下;
在这里插入图片描述
假设我一不小心把hello2.txt给删除了
!在这里插入图片描述

我们可以选择还原
在这里插入图片描述
这时候就回来了
在这里插入图片描述
如果是真的想删除
先进行删除文件,然后进行提交
在这里插入图片描述
这样就好了
这时候,本地仓库中是真的没有它了
在这里插入图片描述
如果是在本地版本库进行删除,在本地进行保存。
先创建一个test3.txt在本地版本库
然后,进行删除并保留本地副本
在这里插入图片描述
在这里插入图片描述
结果如下:这时候,本地管理库中其实还是有的,在进行提交就没有了
在这里插入图片描述
在idea中使用git
由于idea本身是使用cmd的。所以,首先要进行设置
在这里插入图片描述
在这里插入图片描述
这样就把项目交给了git进行管理。
下面进行提交项目
在这里插入图片描述
这样就提交好了

各个版本进行切换
在这里插入图片描述

比如说有下面这些版本,注意要在提交完毕的情况下进行;
我想返回之前那个版本,右键checkout即可在这里插入图片描述
这个时候就回去了,在这里插入图片描述

当我想回之前的那个版本是,用同样的方法即可
在这里插入图片描述
可以看到回到了原来的那个版本。这就是git的神奇之处
在这里插入图片描述
git 指令的话,在码云上会有说:
下面这个链接如果别人,有改变的解决方法
参考别人的博客
将数据上传到码云
VCS -> Git -> PUSH 这样就可以把项目推送上去了。
如果是还没有仓库的那么就VCS -> Import into Version Control -> ShareProject on Gitee
这里面写仓库名已经其他的一些信息。

把idea中项目更新到gitee上,教程如下:

相关教程

上面这个git的方法会有一个问题,就是强制提交,强制提交是不允许的;会把别人的数据清理掉;
那么,为什么会有推送不上去这个问题呢?

  1. 因为,gitee中,我们建立了readme.md,我们在推送新的项目的时候,就会出现冲突;
  2. 我们把仓库里的文件先拉到我的项目里面,然后,把我的项目+原文件一起推上去;
  3. 这时候,会报错refusing to merge unrelated histories ,拒绝合并不相关的历史,因为本地的内容确实是没和远程的文件接触过;
  4. 这个时候,就可以使用 git pull origin master --allow-unrelated-histories;告诉系统允许合并不相关历史的内容:
    相关内容可以参考博客

合并相关测试

本地创建分支并推送到远程
新建分支 dev
在这里插入图片描述
结果如下:
在这里插入图片描述
使用push 将本地dev分支推送到远程:
在这里插入图片描述

  • 确认推送内容
    在这里插入图片描述
    这个时候,我们的远程仓库发现了已经创建了的dev分支:

在这里插入图片描述

分支切换

  • 从dev分支切换回master分支:
    在这里插入图片描述
    Git 文件冲突问题解决
  • 选择一个云端项目
    在这里插入图片描述
    然后,在远程仓库上添加一些东西,修改内容如下:
    在这里插入图片描述
    进行提交
  • 修改本地仓库代码
    在这里插入图片描述
  • 提交本地代码
    直接push 发现失败:
    在这里插入图片描述
    那么,先pull 下来,然后,再把项目+原文件一起推上去
    在这里插入图片描述
    这时候,发现如下情况:我们需要进行合并
    在这里插入图片描述
    合并如下,点击一下代表保存
    在这里插入图片描述
    然后,提交代码并推送到远程即可;
    在这里插入图片描述
    在远程中,可以看到整改成功:
    在这里插入图片描述
    从dev分支合并代码到master
  • 先在dev上输入一些内容
    在这里插入图片描述
    然后,切换到master 分支时,就会让我们进行合并:
    在这里插入图片描述
    然后,合并即可;这是master中的read.me;
    在这里插入图片描述
    然后,再查看dev下的readme 这个时候,因为master中readme已经发生了修改,所以,我们还是需要重新合并的;下面是我合并的结果;
    在这里插入图片描述
    一般来说:我们都是在dev下面进行开发,从dev合并到master应该是没有权限的;
    如果,我们在master下修改成功了,那么我们在push 应该就可以在master进行修改了;

所以,文章解决了 远程仓库发生了更改后,本地仓库进行修改数据后,当发生冲突时,先pull 再push来解决冲突;还有就是新建一写分支等相关问题;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值