zoukankan      html  css  js  c++  java
  • 源项目 -> fork -> 本地 (如何把源项目的代码合并到本地然后推送给fork)

    1. git remote -v
    2. git remote add 别名 地址
    3. git fetch 别名
    4. git merge  别名/分支

    第一步:命令行进入到本地.git 所在的目录,查看remote 信息 ,只有 fork

    >git remote -v
    origin  https://github.com/gcontini/xades4j.git (fetch)
    origin  https://github.com/gcontini/xades4j.git (push)

    第二步:添加一个remote ,别名是 upstream ,地址是源项目地址

    >git remote add upstream https://github.com/luisgoncalves/xades4j.git

    执行完毕之后 .gitconfig 文件中增加了三行

    [remote "upstream"]
    	url = https://github.com/luisgoncalves/xades4j.git
    	fetch = +refs/heads/*:refs/remotes/upstream/*

    第三步:查看remote 信息 ,有两个,一个是origin(本地项目从哪来的),另一个是upstream(最原始的项目)

    >git remote -v
    origin  https://github.com/gcontini/xades4j.git (fetch)
    origin  https://github.com/gcontini/xades4j.git (push)
    upstream        https://github.com/luisgoncalves/xades4j.git (fetch)
    upstream        https://github.com/luisgoncalves/xades4j.git (push)

    第四步:获取原项目的信息

    >git fetch upstream
    remote: Counting objects: 22, done.
    remote: Total 22 (delta 14), reused 14 (delta 14), pack-reused 8
    Unpacking objects: 100% (22/22), done.
    From https://github.com/luisgoncalves/xades4j
     * [new branch]      gh-pages   -> upstream/gh-pages
     * [new branch]      master     -> upstream/master

    执行完毕之后 .git efs emotes 文件夹下增加了 upstream 文件夹,其中包含两个分支文件

    └─upstream
            gh-pages
            master

    第五步:合并分支(合并remotesupstreammaster 文件中的内容到本地)

    >git merge upstream/master
    Auto-merging src/test/java/xades4j/verification/XadesVerifierImplTest.java
    CONFLICT (content): Merge conflict in src/test/java/xades4j/verification/XadesVerifierImplTest.java
    Automatic merge failed; fix conflicts and then commit the result.

    第六步: 处理冲突文件

    第七步: push到 fork

    备注:

    查看帮助信息

    -h 简要帮助信息

    --help 通过浏览器打开文档,显示详细信息

    >git remote -h
    usage: git remote [-v | --verbose]
       or: git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--mirror=<fetch|push>] <name> <url>
       or: git remote rename <old> <new>
       or: git remote remove <name>
       or: git remote set-head <name> (-a | --auto | -d | --delete | <branch>)
       or: git remote [-v | --verbose] show [-n] <name>
       or: git remote prune [-n | --dry-run] <name>
       or: git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]
       or: git remote set-branches [--add] <name> <branch>...
       or: git remote get-url [--push] [--all] <name>
       or: git remote set-url [--push] <name> <newurl> [<oldurl>]
       or: git remote set-url --add <name> <newurl>
       or: git remote set-url --delete <name> <url>
    
        -v, --verbose         be verbose; must be placed before a subcommand
    remote -h
    >git fetch -h
    usage: git fetch [<options>] [<repository> [<refspec>...]]
       or: git fetch [<options>] <group>
       or: git fetch --multiple [<options>] [(<repository> | <group>)...]
       or: git fetch --all [<options>]
    
        -v, --verbose         be more verbose
        -q, --quiet           be more quiet
        --all                 fetch from all remotes
        -a, --append          append to .git/FETCH_HEAD instead of overwriting
        --upload-pack <path>  path to upload pack on remote end
        -f, --force           force overwrite of local branch
        -m, --multiple        fetch from multiple remotes
        -t, --tags            fetch all tags and associated objects
        -n                    do not fetch all tags (--no-tags)
        -j, --jobs <n>        number of submodules fetched in parallel
        -p, --prune           prune remote-tracking branches no longer on remote
        --recurse-submodules[=<on-demand>]
                              control recursive fetching of submodules
        --dry-run             dry run
        -k, --keep            keep downloaded pack
        -u, --update-head-ok  allow updating of HEAD ref
        --progress            force progress reporting
        --depth <depth>       deepen history of shallow clone
        --shallow-since <time>
                              deepen history of shallow repository based on time
        --shallow-exclude <revision>
                              deepen history of shallow clone, excluding rev
        --deepen <n>          deepen history of shallow clone
        --unshallow           convert to a complete repository
        --update-shallow      accept refs that update .git/shallow
        --refmap <refmap>     specify fetch refmap
        -4, --ipv4            use IPv4 addresses only
        -6, --ipv6            use IPv6 addresses only
    fetch -h
  • 相关阅读:
    什么是 Spring 框架?Spring框架有哪些主要模块?
    java动态代理实现与原理详细分析
    react中 函数式组件hook的使用
    JavaScript中的delete的定义以及使用
    React中ref的使用
    使用react中antd design UI库from中的getFieldsValue,getFieldValue,validateFields,resetFields,getFieldDecorator,initialvalue的用法
    使用react和axios实现的城市三级联动
    关于react中antd design pro下面src/models
    关于thisState的那些事
    react的生命周期
  • 原文地址:https://www.cnblogs.com/zno2/p/6994481.html
Copyright © 2011-2022 走看看