描述

我定制了一下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


--- 完

[git] git怎样fork一个repo的更多相关文章

  1. git如何更新fork的repository(Fork一个别人的repository,做了一些改动,再合并别人的更新)

    Fork一个别人的repository,做了一些改动,想提交pull request的时候,发现原先别人的repository已经又有了一些更新了,这个时候想使得自己fork出的repository也 ...

  2. [git]用pelican搞一个自己的blog(已完成)

    pelican Pelican Static Site Generator, Powered by Python:Pelican是python语言写的静态网站生成器.因为我一直打算用github pa ...

  3. [git]Git与Repo入门

    转自:http://www.cnblogs.com/angeldevil/archive/2013/11/26/3238470.html 注:非常推荐的一篇关于git的博文 目录: 版本控制 一.原始 ...

  4. GIT 如何合并另一个远程Git仓库的文件到本地仓库里某个指定子文件夹并不丢失远程提交记录?

    问题背景:     最近在重新整理手中的一个项目,目前该项目分为PC项目,手机项目,某第三方接口项目,第三方接口服务项目和手机项目     因为之前规划的原因,原来的四个项目是分两个解决方案来管理的 ...

  5. 利用cocoapods创建基于git的私有库Spec Repo

    上一篇文章记录了我利用cocoapods创建基于SVN的私有库的全部过程,今天我再记录一下基于git创建的过程. 整体先说明一下创建一个私有的podspec包括如下那么几个步骤: 创建并设置一个私有的 ...

  6. 利用git+hugo+markdown 搭建一个静态网站

    利用git+hugo+markdown 搭建一个静态网站 一直想要有一个自己的文档管理系统: 可以很方便书写,而且相应的文档很容易被分享 很方便的存储.管理.历史记录 比较方面的浏览和查询 第一点用M ...

  7. [译]如何比较master分支上与git上任意的一个老版本的区别?

    原文来源:https://stackoverflow.com/questions/5586383/how-to-diff-one-file-to-an-arbitrary-version-in-git ...

  8. 如何直接在github网站上更新你fork的repo?

    玩过github的人一定会在你自己的账号上fork了一些github开源项目.这些开源项目往往更新比较活跃,你今天fork用到你自己的项目中去了,过几个星期这个fork的origin可能有一些bugf ...

  9. [git]git 分支

    什么动作,关键看你想完成什么 1. 添加新的远程分支: git push origin current_local_branch:new_remote_branch 2. 删除远程分支(冒号前必须要有 ...

随机推荐

  1. asyncio协议

    服务端 import asyncio import logging import sys from typing import Optional SERVER_ADDRESS = ('localhos ...

  2. Filebeat工作原理

    在这篇文章中,您可以了解Filebeat的关键构建模块以及它们如何一起工作.了解这些概念将有助于您针对特定用例对Filebeat进行配置做出明智的决定.Filebeat由两个主要组件组成: prosp ...

  3. selenium——find_element_by_xx 与 find_element(By.XX,'XXXX')

  4. 帆软报表(finereport)常用函数

    1. SUM SUM(number1,number2,…):求一个指定单元格区域中所有数字之和.Number1,number2,…:1到30个参数或指定单元格区域中所有数字. 注: 函数将直接键入参数 ...

  5. MariaDB:SSL配置

    参考文章:https://blog.csdn.net/johnhill_/article/details/72831932 ,谢谢! 1.安装openssl 下载地址:http://slproweb. ...

  6. Python知识目录

    目录 一.计算机基础 二.Python基础 三.函数 四.常用模块 五.模块和包 六.面向对象 七.网络编程socket 八.数据库 九.前端 十.Python Web框架 十一.版本控制--GIT ...

  7. 5、Filebeat工作原理

    Filebeat工作原理 Filebeat由两个主要组件组成:inputs和harvesters. 这些组件协同工作来查看最新文件内容并将事件数据发送到指定的输出.(注意与之前版本的不同,之前版本是p ...

  8. 【EasyNetQ】- 发布/订阅模式

    EasyNetQ支持的最简单的消息传递模式是发布/ 订阅.这种模式是消除消费者信息提供者的绝佳方式.出版商简单地向全世界说,“这已经发生了”或“我现在有了这些信息”.它不关心是否有人正在倾听,他们可能 ...

  9. javascript 通过模块模式实现代码访问控制

    <script type="text/javascript"> // 在匿名函数中使用var关键字 (function(){ var privateField = 42 ...

  10. 【Android】activity-alias的使用

    activity-alias是android里为了重复使用Activity而设计的. 当在Activity的onCreate()方法里,执行getIntent().getComponent().get ...