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技巧分享 -> 正文阅读

[开发工具][项目版本管理] Git技巧分享

本文旨在分享作者在遇到版本管理问题时的GIt技巧,希望读者能及时指正、相互学习,优化文章内容。


前言

本文旨在以真实故事的形式分享作者在遇到版本管理问题时的解决方法。T.T||


提示:以下是本篇文章正文内容,下面案例可供参考

一、恢复‘git stash drop’后的代码

如果你本地stash的代码版本过多,在你想要使用‘git stash drop XX’删除XX这一版本的代码时,你手比脑子快一步,没有键入代码commit_id:XX,于是你删掉了最新一版的本地改动,你的命令行此时应该是这样的:
git stash drop最新的变动代码
如果你是个小白,此时你会‘啊!’的一声大叫,然后旁边大佬听后只道:‘莫慌!’,并且随手敲下:git show + 上图的commit_id(149825890d1b6c3127c15c3c9d232efe2ccf52fe)。

git show 149825890d1b6c3127c15c3c9d232efe2ccf52fe

这时命令行显示:
git show + commit_id
于是,大佬笑着对你说,‘小伙子,不要慌,代码还在。’并且转身飞速敲下git diff commit id (展示改动对比,确保是误删除代码)和git diff commit_id > target_commit_patch (将误删代码改动保存为target_commit_patch文件)。
最后,大佬轻松地对正在庆幸的你说道,‘你自己去学习如何把这个patch文件打入我们项目中吧’。

二、将patch文件打入项目代码

你看到大佬轻松地将你的失误抹平,不由得深受激励,心中不免有一股挥斥方遒的豪气:一定要学好技术去蓝翔炒菜!

经过一番努力,你终于在网上学习到打patch的方法:

patch -p0 < patch文件 (如‘一’中的target_commit_patch)

注: -p0 -p1的区别在于是否从patch文件的根目录进行查找。-p0表示从根目录找,-p1表示从根目录的下一级目录查找。
具体可操作流程及说明如下:

D:/yourProject (dev)  patch -p0 < target_commit_patch
The text leading up to this was:
--------------------------
|diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml 【对比两个版本文件差异】
|index cfbbb93..dea84ca 100644	
|--- a/gp/src/main/AndroidManifest.xml	【说明:版本1代码文件】
|+++ b/gp/src/main/AndroidManifest.xml	【说明:版本2代码文件】
--------------------------
File to patch: gp/src/main/AndroidManifest.xml
patching file gp/src/main/AndroidManifest.xml
Reversed (or previously applied) patch detected!  Assume -R? [n]  【操作:Enter直接回车】
Apply anyway? [n] y	【默认y】

以上操作具有原子性,在一个patch文件的打入过程中可能存在多次此类操作,均可按照上述进行。在这个过程中,你可能会遇到Hunk failed的问题,git会将一些无法合并的代码问题保存为*.java,.rej文件:

Hunk #1 FAILED at 28.
Hunk #2 FAILED at 66.
Hunk #3 FAILED at 101.
Hunk #4 FAILED at 167.
4 out of 4 hunks FAILED -- saving rejects to file app/src/main/entity/ExampleEntity.java.rej

注意:在处理完patch文件后,你的项目里会出现以下两种文件(此两种文件在手动合并所有.rej文件相关代码后,可直接删除):

’XX.java.rej’ : 被git拒绝自动合进项目的改动,需要开发人员手动去甄别改动进行合并;
’XX.java.orig’ :这类文件是改动前的缓存代码,可作为对比代码变动的标准版本。

转载请注明出处 [代码视界] https://blog.csdn.net/qq_36307543/article/details/124191207

  开发工具 最新文章
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-04-18 18:03:22  更:2022-04-18 18:04:37 
 
开发: 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年12日历 -2024/12/30 2:59:48-

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