- git remote -v
- git remote add 别名 地址
- git fetch 别名
- 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
>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