[git] git怎样fork一个repo

时间:2021-09-25 16:17:08

描述

我定制了一下strongswan的工程。然后想把我自己的定制变成一个repo

push到远端git.tong.com与大家分享。

这个时候,应该怎么做?

如果你用过github的话。那么你可以理解,我现在要做的事情就是类似于github上的fork。

开始

1

从strongswan的git上checkout下来它的代码

建立一个新的本地分支,并完成定制修改,放在了新的branch里,我给它起了个名字

叫 tong_plugin,tong_plugin是从version5.7.2分出来的。

╰─>$ git branch -v
* tong_plugin f5059bb85 kernel_tong works verison.
master 6639288b1 [behind 1] Use Botan 2.9.0 for tests

2

在你的远端服务器上,建好仓库。无论是通过命令行或者网页或者客户端。

总之,它最后会给你一个地址:

git@git.tong.com:caotong1/strongswan.git

你应该明白,git是真正的分布式的,没有谁是谁的仓库,每一个节点都有完整的信息,任何人随时都可以成为任何人的仓库,只要网络可达,只要服务开放访问

这个服务可以是http承载,也可以是ssh承载

3

在本地,用以下命令增加一个remote:

``

┬─[tong@T7:~/Src/thirdparty/strongswan.git]─[06:24:39 PM]

╰─>$ git remote add tong_repo git@git.tong.com:caotong1/strongswan.git

可以看到,现在你有两个remote了,不要以为所有的remote都只能叫origin。。。。

┬─[tong@T7:~/Src/thirdparty/strongswan.git]─[06:25:02 PM]

╰─>$ git remote -v

tong_repo git@git.tong.com:caotong1/strongswan.git (fetch)

tong_repo git@git.tong.com:caotong1/strongswan.git (push)

origin git://git.strongswan.org/strongswan.git (fetch)

origin git://git.strongswan.org/strongswan.git (push)


## 4
把修改的分支push上去。原来的属于官方的还留在官方的远端repo里

git push -u tong_repo tong_plugin


--- 完