Git的高级操作-1

1、回滚之前的版本

git reset <commitId>

(base) dongnengwuxiandeMac-mini:KTMRobot eddy$ git reset 93ed329966f72818a9b528f763ce4c20cf2c8da4
Unstaged changes after reset:
M   KTMRobot.xcodeproj/project.xcworkspace/xcuserdata/eddy.xcuserdatad/UserInterfaceState.xcuserstate
M   auto.sh

2、查看提交commitId
git log

(base) dongnengwuxiandeMac-mini:KTMRobot eddy$ git log
commit 47863bc66fff4b462106a633c40b10c3f7a14090 (HEAD -> master, origin/master)
Author: Eddy Wong <784550567@qq.com>
Date:   Fri Dec 4 10:33:58 2020 +0800

    提交

commit 93ed329966f72818a9b528f763ce4c20cf2c8da4
Author: Eddy Wong <784550567@qq.com>
Date:   Thu Nov 12 15:15:18 2020 +0800

    更新适配unity、cocos

commit ea3da4852e3d08c9f649924b348f05844d23ac15
Author: Eddy Wong <784550567@qq.com>
Date:   Wed Oct 14 10:12:59 2020 +0800

    commit

commit 45d6601fa31fefce1841d70af77e5290c9e2f02f
Author: Eddy Wong <784550567@qq.com>
Date:   Wed Oct 14 10:11:51 2020 +0800

    Initial commit
:...skipping...
commit 47863bc66fff4b462106a633c40b10c3f7a14090 (HEAD -> master, origin/master)
Author: Eddy Wong <784550567@qq.com>
Date:   Fri Dec 4 10:33:58 2020 +0800

查看提交的commitId,git log显示不完,光标显示在冒号的位置,按方向键上下翻,按q会退出

有是变成红色的代码,git reset回退版本时,回退的代码是保留下来的,被放到工作区间,git reset --hard就是把回退的代码直接删除掉,不会保留下来,这个指令很危险,一般不用。

3、提交到远程
git push -f

把刚才reset以后的版本推到远程,也覆盖掉远程仓库的最新的2个提交,回退远程的版本, -f参数强制覆盖远程,这样就可以把线上的版本给回退了

(base) dongnengwuxiandeMac-mini:KTMRobot eddy$ git push -f
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/hohua88/KTMRobot.git
 + 47863bc...93ed329 master -> master (forced update)

4、暂存修改
git stash

在工作进行中时,有些东西常常会处于凌乱的状态。如果这时需要切换到不同的分支该怎么办呢?Git是不允许你这么做的,因为还有尚未保存的修改。坦率地说,你并不想将半成品提交上去,后面再来修改。这个问题的解决之道就是使用git stash命令。Stash会接收工作目录的当前状态(比如说,修改了的追踪文件与暂存区的修改等),并将其保存到未完成的修改栈中,这样后面随时可以再来修改。可以通过如下命令来暂存你的工作

(base) dongnengwuxiandeMac-mini:KTMRobot eddy$ git stash
Saved working directory and index state WIP on master: 93ed329 更新适配unity、cocos

关于暂存,还有其他一些选项可用,如下所示:

git stash list # 查看暂存列表
git stash pop git stash pop stash@{0}  # 弹出指定的暂存
git stash save "describe it" # 设置暂存名称
git stash clear # 清空暂存
git stash drop  # 删除最新的stash

5、合并制定提交
git cherry-pick
合并指定的commitid并提交到远程
git merge 会把分支上的新提交都会合并到master主分支上,但是有的时候我们并不想合并所有的新提交,而是挑选几个commitid合并

(base) dongnengwuxiandeMac-mini:KTMRobot eddy$ git log
commit a94cf7f307504129ab47284f7b960d40a878f08d (HEAD -> dev, origin/dev)
Author: Eddy Wong <784550567@qq.com>
Date:   Fri Dec 4 11:21:53 2020 +0800

    Create 测试4.txt

commit 07b226dde4e5c17c1bf1d78be1a7f729f731daf1
Author: Eddy Wong <784550567@qq.com>
Date:   Fri Dec 4 11:21:49 2020 +0800

    Create 测试3.txt

commit e4700857f4fb8ed83df616c2756bf2b3840c9d3e
Author: Eddy Wong <784550567@qq.com>
Date:   Fri Dec 4 11:21:46 2020 +0800

    Create 测试2.txt

commit 1f080b406c4c44c2ac23c5c75d8c21ba3d73a68d
Author: Eddy Wong <784550567@qq.com>
Date:   Fri Dec 4 11:21:41 2020 +0800

    Create 测试1.txt

首先需要先切回master分支

(base) dongnengwuxiandeMac-mini:KTMRobot eddy$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
(base) dongnengwuxiandeMac-mini:KTMRobot eddy$ git cherry-pick a94cf7f307504129ab47284f7b960d40a878f08d 1f080b406c4c44c2ac23c5c75d8c21ba3d73a68d
[master 17d8722] Create 测试4.txt
 Date: Fri Dec 4 11:21:53 2020 +0800
 1 file changed, 51 insertions(+)
 create mode 100644 "\346\265\213\350\257\2254.txt"
[master e15d87d] Create 测试1.txt
 Date: Fri Dec 4 11:21:41 2020 +0800
 1 file changed, 51 insertions(+)
 create mode 100644 "\346\265\213\350\257\2251.txt"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容