github fork后与源项目保持同步
来源:互联网 发布:mysql where 优先级 编辑:程序博客网 时间:2024/05/17 01:42
github fork开源项目以后,需要不断主动同源项目保持同步,不然代码就停在fork那刻了。下面以Cassandra为例分别同步它的master(trunk),tag和branch。
git clone https://github.com/nivance/cassandra #克隆fork后的项目cd cassandragit branch -a #查看所有分支
git remote add src-cassandra https://github.com/apache/cassandra.git #添加源项目地址到本地
1.master同步
git pull src-cassandra trunk #更新源项目trunk(master)代码(cassandra将master改成了trunk)
从下图可以看到源项目的trunk(master)更新了哪些代码。
git branch -a #查看所有分支
git push #将刚更新的trunk(master)代码推送到fork后项目的trunk(master)分支
更新成功。
2.tag同步
git fetch src-cassandra --tags #获取源项目的tag
可以从上图看到源项目比fork的项目多了一个tag。
git push --tags #将新的tag推送到fork项目
推送成功。
另外,如果要checkout tag的代码。可以在本地建立一个与tag对应的分支,然后将tag的pull下来就可以了。如下:
git checkout -b 2.0.12-tentative 2.0.12-tentativegit pull src-cassandra 2.0.12-tentative
3.branch同步
在Git中master其实是一个特殊的branch,其它branch的同步跟master同步操作不一样。下面分别对已经fork的branch和未fork的branch进行同步。
3.1已fork的分支同步
git branch -a #查看所有分支
以同步上图的分支cassandra-2.1为例。先创建cassandra-2.1分支并更新,如下:
git checkout -b cassandra-2.1 origin/cassandra-2.1 #git pull同步源项目相对应的分支cassandra-2.1。
git pull src-cassandra cassandra-2.1
git push origin cassandra-2.1 #推送源项目更新到fork的分支
推送成功。
3.2未fork的分支同步
因为要同步的分支在origin不存在,所以需要在fork的项目(origin)建一个新的分支,最好是新建一个空的分支。
git commit --allow-empty -m "initial commit"git push origin HEAD:refs/heads/cassandra-new #新建一个空分支cassandra-new,然后push到仓库git branch -a
git checkout -b cassandra-new origin/cassandra-new #切换到新分支cassandra-new git branch -a
git pull src-cassandra cassandra-new #拉取源项目未fork的分支(这里以cassandra-new举个例子哈)
git push origin cassandra-new #推送到空分支
OK! 到此圆满成功!
1 0
- github fork后与源项目保持同步
- Github上fork项目后与原项目保持同步
- github fork开源项目后如何与源项目保持同步
- github上fork别人项目后如何与源项目保持同步
- github上fork别人项目后如何与源项目保持同步
- github fork源仓库后保持同步
- git使用之五——Github上fork项目后与原项目保持同步
- git使用之五——Github上fork项目后与原项目保持同步
- github上fork项目后保持与原项目同步更新
- Github fork其他项目的分支与主干保持同步
- github fork项目后与原项目进行同步
- github fork项目后与原项目进行同步
- 如何保持github上fork的项目与原项目同步
- GitHub上fork后本地如何保持同步
- 如何保持从github上fork过来的项目与作者同步更新
- fork的项目如何与原项目保持同步?
- git: 保持fork的项目与上游同步
- Github上fork之后如何保持同步
- [学习笔记]HTML基础
- C++文件读写详解(ofstream,ifstream,fstream)
- 51单片机第四弹---矩阵键盘
- 笔记VISIO:常见问题解决办法
- Mysql 下创建root用户
- github fork后与源项目保持同步
- [学习笔记]CSS基础
- HashMap原理
- C# 参数带this是什么意思(扩展方法)
- Java基础总结----多线程安全性&同步
- 十三、数列如下:【1】,【2】,3,6,9,18,27… ,用递归求第20项的值是多少?
- UILabel如何使用sizeToFit进行宽高适配
- 为什么Hash函数 H(k) = k % m中 m 尽量不要为2的幂次 也不是要是2^i -1
- 十四、求n的阶层--【递归法和递推法(迭代法)】