如何提交git pull请求

来自百问网嵌入式Linux wiki
Zhouyuebiao讨论 | 贡献2020年1月10日 (五) 15:43的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)


git pull 命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。它的完整格式稍稍有点复杂。
我们可以使用 git pull -h 来查看帮助信息。
    book@www.100ask.org:~/tmp/Embedded-Linux-ADCMSE$ git pull -h
    usage: git pull [<options>] [<repository> [<refspec>...]]

        -v, --verbose         be more verbose
        -q, --quiet           be more quiet
        --progress            force progress reporting

    Options related to merging
        -r, --rebase[=<false|true|preserve>]
                            incorporate changes by rebasing rather than merging
        -n                    do not show a diffstat at the end of the merge
        --stat                show a diffstat at the end of the merge
        --log[=<n>]           add (at most <n>) entries from shortlog to merge commit message
        --squash              create a single commit instead of doing a merge
        --commit              perform a commit if the merge succeeds (default)
        --edit                edit message before committing
        --ff                  allow fast-forward
        --ff-only             abort if fast-forward is not possible
        --verify-signatures   verify that the named commit has a valid GPG signature
        -s, --strategy <strategy>
                            merge strategy to use
        -X, --strategy-option <option=value>
                            option for selected merge strategy
        -S, --gpg-sign[=<key-id>]
                            GPG sign commit

    Options related to fetching
        --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
        -t, --tags            fetch all tags and associated objects
        -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
        --depth <depth>       deepen history of shallow clone
        --unshallow           convert to a complete repository
        --update-shallow      accept refs that update .git/shallow
        --refmap <refmap>     specify fetch refmap

    book@www.100ask.org:~/tmp/Embedded-Linux-ADCMSE$
一般我们使用到的命令格式是:
   git pull <远程主机名> <远程分支名>:<本地分支名>

常用的命令

取回 origin 主机的next分支,与本地的 master 分支合并
   git pull origin next:master
如果远程分支是与当前分支合并,则冒号后面的部分可以省略:
   git pull origin next
如果当前分支与远程分支存在追踪关系,git pull 就可以省略远程分支名。
   git pull origin
当前分支只有一个追踪分支,默认当前分支自动与唯一一个追踪分支进行合并,连远程主机名都可以省略,
   git pull
如果合并需要使用 rebase 模式,可以使用 –rebase 选项:
   git pull --rebase <远程主机名> <远程分支名>:<本地分支名>