IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> git clone 、pull、stash的故事 -> 正文阅读

[开发工具]git clone 、pull、stash的故事

git基本工作流程 - git初体验

快过年了,在公司很无聊,想写本小说,发现脑子里都是friendHub,根本不配

1. 拉取仓库代码(第一次)

小赖刚进入公司,电脑里面什么都没有,这个时候,他想看看项目的代码,于是他找了主管要了代码的仓库地址(ssh:// github,xxxxxxx.xxxx),他要拉取仓库中代码:执行了以下命令:

git clone ssh:// github,xxxxxxx.xxxx
在这里插入图片描述
结果,拉下来了代码,心里乐开了花,但是看了一会辛苦拉下来的代码发现,cao!不是他想要的分支,是main分支上的代码
在这里插入图片描述
默认拉下来的都是main(有的仓库叫master) 分支的代码。他想要的是laihu分支,这可有点难受,想晚上找兄弟打把lol发泄一下。

2. 拉取指定分支代码(第一次)

所以这时候他就想拉取指定分支的代码,在他不懈的努力下,他终于发现了一个点,上面这条命令竟然可以这样用;拉取指定的分支

git clone -b <分支名> ssh:// github,xxxxxxx.xxxx
在这里插入图片描述
终于,他拉到了想要的分支的代码,他高兴坏了

在后续的工作中,小赖逐渐发现这两条命令不能满足他复杂至极的场景需求,于是他又开始求索,去看了一下,git clone 命令,描述如下
在这里插入图片描述
这个命令的描述是,拷贝一个Git仓库到本地,从书面的意思是一整个仓库啊,为什么只有main呢

尼玛,小赖又不会了……

咦,idea右下角怎么有个分支名
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TgHJj6Ak-1643366474787)(C:\Users\80351788\AppData\Roaming\Typora\typora-user-images\image-20220128165826302.png)]
确实,刚才的命令把laihu分支的代码拉下来了,抱着coder的不死不休求索态度,他点了进去
在这里插入图片描述
看到了local branch(本地分支) 和 remote branch (远程分支)

确实本地只有laihu 分支,远程分支有laihu1 , laihu2 ,main 三个分支,到这儿,拉取代码的两条命令他弄懂了

3. 更新本地代码——本地没有更改

一切都在顺利的进行,他一直在看代码,可是好景不长,有个兄弟突然拉取了跟他一样的分支,并且在三秒钟之内开发完他的需求,突然后又过了3秒,同事的代码竟然直接推到他看的分支上
在这里插入图片描述
在感叹同事真尼玛汼丕的同时,也好奇,这个b到底做了什么, 于是想把他的代码同步下来,本地没有做任何更改,他发现别人在远程仓库中提交了新的代码,但是他的本地没有,于是他想把最新的更新拉下来,他执行了以下命令拉取最新的代码:

git pull --rebase

执行命令前
在这里插入图片描述
执行命令中
在这里插入图片描述
执行命令后
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZVRBEBcK-1643366539686)(C:\Users\80351788\AppData\Roaming\Typora\typora-user-images\image-20220128173847802.png)]
好了,牛逼同事的代码,出来了,他的本地代码又是最新的了,恭喜自己

一看,原来3秒同事装了个杯,啥也没有

4. 在本地仓库中获取其他分支代码

渐入佳境,小赖看懂了代码,他的主管给我分派了一些任务,就这样,他的第一行CRUD给了公司,他有点小兴奋了;兴奋了一会儿,坏了,可恶的同事又在远程仓库他的分支上提交了新代码
在这里插入图片描述
可恶,为何不等我先提交,为何同事的实力如此之强,这时他的问题是:自己本地有更新, 远程仓库也有最新代码,他想着有又去执行一下git pull --rebase 中的命令,可是发现报错了
在这里插入图片描述
看图中中的提示可以得到的信息是,1、本地有更新;

解决办法:2、把本地更新提交或者暂存起来

首先 ,提交是不可能提交的,因为小赖自认为自己写的还不够好,想再改一改

于是选择暂存,可是怎么暂存呢

4.1 暂存未提交更新

暂存是都知道什么意思,可是git‘的暂存是什么??????
在这里插入图片描述
算了,小赖想不出来,耍把泽拉斯,打个P清醒一下,叫上了嘴强王者小李,不负所望,打完p的他顿悟了

暂存的顺序是 1、git add . (后面有个点,表示追踪所有文件)

? 2、git stash

他发现idea界面上,小赖更新的文件不在了,恢复了原来的代码版本

执行暂存前:
在这里插入图片描述
执行暂存中:
在这里插入图片描述
执行暂存后:
在这里插入图片描述
小赖的代码暂存起来了,如果你想问存在哪儿的???
在这里插入图片描述
别管了,大家都是fw,没必要查户口

4.2 拉取最新代码

真正的问题还没有解决,但是按照刚才的提示
在这里插入图片描述小赖认为它可以拉取同事的最新代码了

于是试了一下
在这里插入图片描述
果然,小赖觉得自己牛逼坏了,叉会腰
在这里插入图片描述

4.3 恢复自己的代码

别人的代码是拉下来了,可是自己的代码呢,怎么把他取消暂存

小赖,这次没有耍泽拉斯,而是抽了一口鞋盒里的烟蒂,脚臭让他灵机一动

只见手不听使唤在键盘上敲出了👇

git stash pop

犹如天神下凡,他暂存的一行代码(写了一周)又出来了
在这里插入图片描述
最后,牛逼同事的代码和他的代码在他的idea里成为了相亲相爱的一家人,没有conflict(冲突)

什么是冲突?怎么解决冲突?好吧下次一定。

回答一下刚才文中的问题,暂存在哪里的呢???

命令:git stash list

小赖明白了,原来是存在…… ??哪里,好吧,只是看到了,其实小赖知道,存在电脑里面的[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vpcjY6sY-1643366768826)(C:\Users\80351788\AppData\Roaming\Typora\typora-user-images\image-20220128182909237.png)]
下次小赖要学习解决(conflict)

推荐文章

git操作之pull拉取远程指定分支以及push推送到远程指定分支(https://blog.51cto.com/u_15262460/2883040)

git拉取指定分支的代码(https://blog.csdn.net/weixin_39800144/article/details/78205617)

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-01-29 23:17:35  更:2022-01-29 23:18:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:08:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码