zoukankan      html  css  js  c++  java
  • Git 操作备忘

    Git 操作备忘

    特别推荐:https://dev.to/lydiahallie/cs-visualized-useful-git-commands-37p1

    git批量移除文件

    • git rm *.suo 移除一类文件;

    设置Git的user name和email:

    $ git config —global user.name “norman.zheng”
    $ git config —global user.email “norman.zheng@vipshop.com”
    

    生成SSH

    • 查看是否已经有SSH密钥了:cd ~/.ssh用此命令进入后ls查看,如果有则备份删除。
    • 生成命令
    $ ssh-keygen -t rsa -C “norman.zheng@vipshop.com”
    
    • 然后按三个回车,密码设置为空。最后生成了两个文件id_rsaid_rsa.pub
      vi命令编辑模式查看公钥,并复制.pub文件,粘贴到gitlab里即可

    添加密钥到ssh

    • ssh-add 文件名
      需要之前输入密码。
    • 在github上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥。

    变基

    • git rebase 会将当前分支的提交复制到指定的分支之上。
    • 变基与合并有一个重大的区别:Git 不会尝试确定要保留或不保留哪些文件。我们执行 rebase 的分支总是含有我们想要保留的最新近的修改!这样我们不会遇到任何合并冲突,而且可以保留一个漂亮的、线性的 Git 历史记录。

    交互式变基。在我们正在 rebase -i HEAD~xx 的提交上,我们可以执行以下 6 个动作:

    • reword:修改提交信息;
    • edit:修改此提交;
    • squash:将提交融合到前一个提交中;
    • fixup:将提交融合到前一个提交中,不保留该提交的日志消息;
    • exec:在每个提交上运行我们想要 rebase 的命令;
    • drop:移除该提交。

    软重置git reset --soft HEAD~xx保留变动,回滚到某个commit

    还原(Reverting)另一种撤销修改的方法是执行 git revert。通过对特定的提交执行还原操作,我们会创建一个包含已还原修改的新提交。git revert xxxx撤销commitId的变动。并直接生成一个新的commitID(merge后的)

    拣选(Cherry-picking)当一个特定分支包含我们的活动分支需要的某个提交时,我们对那个提交执行 cherry-pick!对一个提交执行 cherry-pick 时,我们会在活动分支上创建一个新的提交,其中包含由拣选出来的提交所引入的修改。

    通过在这个远程分支上执行 git fetch,我们就可在本地获取这些修改。这不会以任何方式影响你的本地分支:fetch 只是单纯地下载新的数据而已。

    尽管 git fetch 可用于获取某个分支的远程信息,但我们也可以执行 git pull。git pull 实际上是两个命令合成了一个:git fetch 和 git merge。当我们从来源拉取修改时,我们首先是像 git fetch 那样取回所有数据,然后最新的修改会自动合并到本地分支中。

    git reflog 是一个非常有用的命令,可以展示已经执行过的所有动作的日志。包括合并、重置、还原,基本上包含你对你的分支所做的任何修改。

  • 相关阅读:
    sphinx测试数据生成
    sphinx是支持结果聚类的——WHERE、ORDER BY和GROUP BY
    sphinx是支持结果聚类的
    sphinx 针对tedfield搜索
    启明星辰泰合发布新一代日志分析系统
    php下载远程图片方法总结(curl手动解析header)curl跳转问题解决
    php抓取ajax页面返回图片。
    PHP用CURL或fsockopen伪造IP和来路(referer)
    windows无效字符名导致的错误及解决办法
    php 原生或curl获取 http headers
  • 原文地址:https://www.cnblogs.com/fuunnyy/p/12849152.html
Copyright © 2011-2022 走看看