如何还原一个已经同步到github同步远程仓库库的Commit

git单独更新远程仓库某个commit
先查看下remote 如下
qingliu@Mokee:~/defy/device/moto/jordan-common$ git remote -v
gh git:///Quarx2k/android_device_moto_jordan-common (fetch)
gh git:///Quarx2k/android_device_moto_jordan-common (push)
然后 git fetch (remote)(branch)
qingliu@Mokee:~/defy/device/moto/jordan-common$git fetch gh cm11.0-3.0
remote: Counting objects: 17, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 11 (delta 5), reused 9 (delta 3)
Unpacking objects: 100% (11/11), done.
From git:///Quarx2k/android_device_moto_jordan-common
* branch cm11.0-3.0 -& FETCH_HEAD
然后 git cherry-pick commit ID(commitID 可以通过别人的提交记录获得)
qingliu@Mokee:~/defy/device/moto/jordan-common$git cherry-pick 633b77216e5cfa06d591e6ecd2c41
[cm-10.2 5e9d284] add opensource camerahal
Author: Quarx2k &&
24 files changed, 7572 insertions(+), 1742 deletions(-)
create mode 100644 camera/Android.mk
create mode 100644 camera/CameraHal.h
create mode 100644 camera/CameraHal_Module.cpp
create mode 100644 camera/CameraHardware.cpp
create mode 100644 camera/CameraHardware.h
create mode 100644 camera/V4L2Camera.cpp
create mode 100644 camera/V4L2Camera.h
create mode 100644 camera/converter.cpp
create mode 100644 camera/converter.h
create mode 100644 camera/hal_public.h
create mode 100644 camera/media.h
create mode 100644 camera/saResize.cpp
create mode 100644 camera/saResize.h
create mode 100644 camera/v4l2-mediabus.h
create mode 100644 camera/v4l2-subdev.h
OK,欢迎大家一起讨论,感谢 但丁不淡定,moonlight-Nexus5 的提示。
标签(Tag):
------分隔线----------------------------
------分隔线----------------------------
华为mate9和mate9 pro的区别 华为mate9介绍 新一代旗舰芯片 华为麒麟960 HUAWEI Mate ...
小米手机的WIFI设置是在没有某WIFI热点的情况下,即使已经保存了的WIFI密码也是不显示...
华为荣耀8流量监控怎么打开呢?华为在EMUI3.0的华为手机管家新功能添加期待已久的了流...
乐视pro3支持NFC吗? 根据乐视官方介绍,乐视pro3支持全功能NFC,支持读卡、写卡、卡...
比如对方发的语音消息听不到/没声音。这可是十分突出的一个问题,那么该如何解决呢?...
最近关于微信应用号的消息越来越多,很多人也对它十分感兴趣。传闻已久的微信应用号总...&&国之画&&&& &&
版权所有 京ICP备号-2
迷上了代码!34042人阅读
Linux(18)
通过使用GIT版本恢复命令reset,可以回退版本。
reset命令有3种方式:
git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息  
git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可  
git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容    
以下是一些reset的示例:
#回退所有内容到上一个版本    
git  reset  HEAD^      
#回退a.py这个文件的版本到上一个版本      
git  reset  HEAD^  a.py      
#向前回退到第3个版本      
git  reset  –soft  HEAD~3      
#将本地的状态回退到和远程的一样      
git  reset  –hard  origin/master      
#回退到某个版本      
git  reset  057d      
#回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit      
git  revert  HEAD 
如果我们某次修改了某些内容,并且已经commit到本地仓库,而且已经push到远程仓库了
这种情况下,我们想把本地和远程仓库都回退到某个版本,该怎么做呢?
前面讲到的git reset只是在本地仓库中回退版本,而远程仓库的版本不会变化
这样,即时本地reset了,但如果再git pull,那么,远程仓库的内容又会和本地之前版本的内容进行merge
这并不是我们想要的东西,这时可以有2种办法来解决这个问题:
直接在远程server的仓库目录下,执行git reset –soft 10efa来回退。注意:在远程不能使用mixed或hard参数
在本地直接把远程的master分支给删除,然后再把reset后的分支内容给push上去,如下:
#新建old_master分支做备份    
git  branch  old_master    
#push到远程    
git  push  origin  old_master:old_master   
#本地仓库回退到某个版本  
git  reset  –hard  bae168 
#删除远程的master分支
git  push  origin  :master 
#重新创建master分支 
git  push  origin  master
一不小心把本地的临时分支push到server上去了,想要删除。
git branch -r -d origin/branch-name
不成功,发现只是删除的本地对该远程分支的track,正确的方法应该是这样:
git push origin :branch-name
冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:214539次
积分:1845
积分:1845
排名:第17571名
原创:35篇
转载:20篇
评论:14条
(3)(8)(17)(12)(6)(2)(1)(4)(3)(1)}

我要回帖

更多关于 git 合并远程commit 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信