• github 常用命令


    如何在 GitHub 下载某个程序的特定版本(代码)?
    一、在github WEB 界面情况下:
    步骤一:打开项目,点击commits
    步骤二:选择里面的branch或者tags
    步骤三:点击按钮Download ZIP,下载源码历史版本。

    二、下载指定分支的方式:
    git clone -b v3.2.2 --depth 1 https://github.com/phalcon/cphalcon/tree/phalcon
    # depth用于指定克隆深度,为1即表示只克隆最近一次commit. 可以提高clone速度

    三、任意切换分支的方式(比起一个一个下,这样切换比较方便,但clone速度会慢):
    步骤一:git clone 下载源码
    步骤二:git branch -r 或者 git tag 列出所有版本号
    步骤三:git checkout 某版本号 


    当使用FTP工具上传代码时,如何增量上传代码?
    1 先找到指定的版本id,比如 05104e3475f63e1e49fbfcbd424a4a3801b95645

    2 再找到最终提交的版本id,比如 a0eb9bc6d4e1801062877fd435eefb81f11598b8

    3 在命令行下进入到git代码目录中,键入命令制作增量包
    git archive -o ./hot-fix-20151001.zip HEAD $(git diff 05104e3...a0eb9bc --name-only)
    # 注:git diff 后边的commit id, 可以只取前7位或全部写上都可以

    如何查看文件修改记录?
    git log -- filename
    # 可以看到该文件相关的commit记录

    git log -p filename
    # 可以显示该文件每次提交的diff

    git show commit-id filename
    # 查看某次提交中的某个文件变化

    #git还原某个文件到之前的版本

    第一步: 在命令行中输入 git log src/main/main.c 得到该文件的commit 历史,复制需要回退版本的hash
    第二步: git checkout <hash> <filename>
    第三步: 如需要提交就执行 git commit -m "revert to previous version"

    git blame filename
    # 可以查看到每行代码是谁做了修改

    rebase和merge命令如何取舍?
    使用场景是不一样的,虽然merge、rebase都是合并另外一个分支的内容,但是rebase会把本分支的commits顶到最顶端假设我们现在有3个分支:
    1、master分支:线上环境使用的分支
    2、testing分支:测试环境使用的分支
    3、my_feature分支:开发新功能的分支,也就是当前分支
    A情况. 假设我在my_feature上开发了一段时间,之后另外的同事开发的功能正式上线到master分支了,那么我可以在当前的分支下rebase一下master分支,这样我这个分支的几个commits相对于master还是处于最顶端的,也就是说rebase主要用来跟上游同步,同时把自己的修改顶到最上面
    B情况. 我在my_feature上开发了一段时间了,想要放到testing分支上,那就切到testing,然后merge my_feature进来,因为是个测试分支,commits的顺序无所谓,也就没必要用rebase (当然你也可以用rebase)另外,单独使用rebase,还有调整当前分支上commits的功能(合并,丢弃,修改commites msg)

  • 相关阅读:
    合约广告系统-在线分配问题
    合约广告系统-合约广告系统
    合约广告系统-常用广告系统开源工具
    knnsearch
    ISOMAP和MDS降维
    dijstra算法
    矩阵大于某个数置零
    mathtype 公式分节隐藏
    fifo 实现问题
    vhdl 数据类型转换 使用IEEE标准库numeric_std 需要进行两次转换 use ieee.numeric_std.all;
  • 原文地址:https://www.cnblogs.com/yuyifeiyang/p/7802923.html
Copyright © 2020-2023  润新知