Git学习总结

一、git粗记

将另一个分支的某次提交所做的更改合并过来
  • git cherry-pick [commitID]

  • 如果有冲突会提示如下

error: could not apply a968f8c1c3... [commit时的备注]
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
  • 此时需要去解决项目中的冲突,等冲突解决完成之后,执行如下指令

    git cherry-pick --continue
    
  • 执行之后会进入vi编辑界面,可以输入相关信息(相关信息是啥 待深究),也可以直接输入 :wq,执行保存并退出操作

  • 如果撤销此次cherry-pick,可执行如下指令

    git cherry-pick --abort
    
查看本地分支与远端分支的关联关系指令
git branch -vv
建立线上线下分支的关联关系
git branch --set-upstream-to=origin/[远端分支名] [本地分支名]

二、分支操作

  • 建立本地分支与远端分支之间的关联关系

    git branch --set-upstream-to=<远程分支名> <本地分支名>

    eg: git branch --set-upstream-to=origin/search/10.8.5/topic search/10.8.5/topic

  • 删除远程分支

    git branch -d -r <远程分支名>

    eg: git branch -d -r origin/search/10.8.5/topic

  • 删除本地分支

    git branch -d <本地分支名>

  • 取消本地分支与远端分支之间的关联关系,切换到对应的本地分支下,执行如下指令

    git branch --unset-upstreamf

  • 重命名已经存在的本地分支:

    Git branch -m <本地分支原名> <本地分支新名>

    eg: git branch -m search/10.9/story_364_webcore_listen search/10.9.5/story_364_webcore_listen

三、分支信息查看操作

  • 查看所有的存在本地分支以及远端分支

    git branch --all

  • 查看所有远端分支

    git branch -r

  • 查看本地分支与远端分支之间的关联关系

    git branch -vv

四、更改提交相关操作

  • 将本地分支的commit push到远程

    git push origin <远程分支名>:refs/for/<本地分支名>

    eg: git push origin search/10.8.5/topic:refs/for/search/10.8.5/topic

  • 暂时存储本地的更改

    git stash

  • 恢复本地暂存的更改

    git stash list

    git stash apply

  • 清空本地暂存的更改

    git stash clear

  • 放弃本地所有未push的commit

    git reset --hard <commitID>

    git reset --hard head

  • 放弃已经push到远端的commit

    git reset --hard <commitID>

    git push origin <分支名> --force

  • 将多个commit合并为一个commit

    rebase -i

  • 查看某次提交的更改

    git show <commitId>

  • 查看某次提交中某个文件的变化

    git show <commitId> filename

  • 可以看到fileName相关的commit记录

    git log filename

  • 可以显示每次提交的diff

    git log -p filenam

  • 找回误删除的代码
    git fsck --lost-found 会log出每次对文件的修改记录对应的id, 通过 git show <id> 查看对应id的更改内容,如果确认要找回的是这个id, 再通过 git merge <id> 将丢失的内容还原。

未完待续篇

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 昨天开始学习git,摸索一天,记下若干要点,权当学习笔记,以备查漏补缺。 GIT配置 ** 安装 **window...
    风间莫一阅读 232评论 2 1
  • 本文主要介绍git分支的概念及常用分支操作。 分支的概念 所谓分支,可以理解成一个个相互独立的工作空间,在每一个分...
    m2fox阅读 69评论 0 0
  • git status:掌握工作时区状态 git diff:查看修改的内容 git log:查看提交历史 git r...
    Annzmy95阅读 227评论 0 0
  • 而且,从那时候之后,蓝玫瑰倒是没有再去惹过刘云帆。 这一次,刘云帆从蓝玫瑰这里下手,未必没有抱着这个女人比较容易下...
    飄雲阅读 212评论 0 1
  • 一直羡慕这种图文排版,发到微博是长图而不是长文。长文需要点击显示,长图直接就显示出来了。 具体见:http://j...
    keni0803阅读 22,141评论 1 1