我想从GitHub克隆一个开源项目,但我想使用Bitbucket作为我的远程存储库主机,因为它的私有仓库是免费的。
我不打算分叉/拉取请求,但是当原始项目更新时,我想将更新提取到我的本地存储库并合并。
我想最终我需要两个远程存储库。 (起源和上游?)
设置此类环境的正确/最安全的方法是什么?
答案 0 :(得分:3)
我刚用GitHub上的一个项目测试了它:google-calendar-backup。
首先,我登录了我的Bitbucket帐户并创建了一个名为google-calendar-backup
的私人Git仓库。
然后,我做了以下步骤:
(注意:我在Windows上,因此您的计算机上的路径可能不同)
从GitHub克隆原始回购
git clone https://github.com/christianspecht/google-calendar-backup C:\LocalDir
这将在本地仓库中创建一个指向GitHub的远程“原点”
由于你想主要使用Bitbucket,Bitbucket应该是“主要”远程origin
,所以我们将重命名现有的。{/ p>
cd c:\localdir
git remote rename origin upstream
转到本地目录并添加Bitbucket repo作为第二个遥控器:
git remote add origin https://bitbucket.org/christianspecht/google-calendar-backup
(可选)显示两个遥控器:
git remote -v
在我的机器上,我得到了这个结果:
origin https://bitbucket.org/christianspecht/google-calendar-backup (fetch)
origin https://bitbucket.org/christianspecht/google-calendar-backup (push)
upstream https://github.com/christianspecht/google-calendar-backup (fetch)
upstream https://github.com/christianspecht/google-calendar-backup (push)
将所有分支推送到Bitbucket一次
git push -u --all origin
结果:
Username for 'https://bitbucket.org': christianspecht
Password for 'https://christianspecht@bitbucket.org':
Counting objects: 30, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (30/30), done.
Writing objects: 100% (30/30), 4.41 KiB | 0 bytes/s, done.
Total 30 (delta 12), reused 0 (delta 0)
To https://bitbucket.org/christianspecht/google-calendar-backup
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
(-u
感谢origin
- 我不知道这一点,我自己还在学习Git)
就是这样。现在您可以进行更改并推送到upstream
(Bitbucket)
偶尔,您需要从@SpringBootApplication
public class IssueTrackerApplication {
public static void main(final String[] args) {
System.out.println("coming here.0000..");
SpringApplication.run(IssueTrackerApplication.class, args);
}
}
(GitHub)拉出来从原始项目中获取新的更改。