• git stash/git fetch/git rebase/git cherry pick/git reset


    git stash 贮存代码

    问题:
    Git冲突:Please commit your changes or stash them before you merge

    原因:git pull要更新代码时 本地代码修改了 需要先commit 或 stash 但是不想commit 就可以stash 保证本地工作区干净

    Stage Changes相当于git add xxx。可以多选,批量地将变更文件放入暂存区,比git add .好用。
    Stash Changes相当于git stash,将选中的变更文件“藏起来”,然后当前分支就“干净”了,可以切换到其他分支去了。
    那么藏起来的内容怎么恢复呢?
    回到刚才执行git stash的分支,执行git stash pop,就会将最近一次藏起来的内容提取出来了。(注:如果stash了好几次,要提取其中某一次的内容,可以使用````git stash apply``命令)

    可能会出现如图错误The RSA host key for [artifactory-lfs.l1sw.dyn.nesc.nokia.net]:8282 has changed 是生成的known_hosts中的RSA发生了变化
    image

    更新代码

    git fetch

    代码更新 git fetch
    git pull
    然后更新子模块git submodule update --init

    image

    解决办法

    删除文件 rm  /home/zhsu/.ssh/known_hosts 
    
    • 1

    然后操作:

    git checkout master (Note: git checkout command is excuted when git workspace is clean. In other word, there must no modify and staged file in your repository when you excute “git checkout”)

    if there alredy have new commit that you commit to master branch:

     option 1: git fetch origin; git rebase origin/master
    
     option 2: git pull --rebase
    
    • 1
    • 2
    • 3

    else if only want to sync your master branch with origin/master

      git fetch origin; git reset --hard origin/master
    
    • 1

    git submodule update --init --recursive --jobs=16

    git rebase

    https://zhuanlan.zhihu.com/p/34197548
    总结:
    下游分支更新上游分支内容的时候使用 rebase
    上游分支合并下游分支内容的时候使用 merge
    更新当前分支的内容时一定要使用 --rebase 参数

    git pull --rebase
    
    • 1

    git cherry pick

    当本地代码提交后且更新了新代码后(新代码覆盖了本地 同步了master时) 想要自己原来提交状态的代码

    git fetch "https://xxx@xxx.com/A/B" refs/changes/28/4473628/4 && git cherry-pick FETCH_HEAD
    
    • 1

    git reset --soft 版本号

    想对commit信息回退修改 但是不对代码的改动修改 保留该版本代码的修改

    在提交代码的时候,commit之后,然后我又在工作区添加了东西,这时候突然发现,上一次的commit有错误的文件,需要重新修改,但是我添加的东西友不想丢失,而且我想修改上一次的提交,这时候可进行git reset --soft 版本号

    作用:用于版本的回退,只进行对commit操作的回退,不影响工作区的文件。

    git log 查看commit 版本号
     git reset --soft 
    
    • 1
    • 2

    git reset --hard 和 git reset --soft区别

    https://blog.csdn.net/yangfengjueqi/article/details/61668381?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-61668381-blog-120782767.pc_relevant_multi_platform_whitelistv1_exp2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-61668381-blog-120782767.pc_relevant_multi_platform_whitelistv1_exp2&utm_relevant_index=1

  • 相关阅读:
    微信小程序父组件向子组件传参,子组件样式无效问题处理
    【Hack The Box】linux练习-- SolidState
    java 通过代码打开文件夹或者文件
    守护绿色屏障:智能高压森林应急消防泵|恒峰智慧科技
    php简单商城小程序系统源码
    Pytorch多机多卡的多种打开方式
    『牛客|每日一题』循环队列
    JavaScript 对象增删改查 + 遍历对象+内置函数 + 随机对象
    Vue之transition组件
    Java版分布式微服务云开发架构 Spring Cloud+Spring Boot+Mybatis 电子招标采购系统功能清单
  • 原文地址:https://blog.csdn.net/sueong/article/details/125927457