如何将我的本地项目与github项目合并?

时间:2014-06-20 09:09:05

标签: eclipse git svn github

几个月前,我下载了一个GitHub项目(https://github.com/Unidata/thredds),以便调整代码的某些部分并在Eclipse中开发它(创建者在Intellij中开发项目)并下载了zip文件,因此我没有克隆回购。

另一方面,我的本地项目已过时,我想通过GitHub原创项目更新本地项目。

编辑:

我的项目文件夹包含.gitignore文件夹,但它不包含.git文件夹,因此没有对主/原始文件的引用

我已经这样做了:

$ git init
$ git remote add upstream https://github.com/Unidata/thredds.git
$ git fetch upstream
remote: Counting objects: 172902, done.
remote: Compressing objects: 100% (54837/54837), done.
remote: Total 172902 (delta 106502), reused 172153 (delta 106046)
Receiving objects: 100% (172902/172902), 813.46 MiB | 1.70 MiB/s, done.
Resolving deltas: 100% (106502/106502), done.
From https://github.com/Unidata/thredds
 * [new branch]      17gridfc   -> upstream/17gridfc
 * [new branch]      4.5.0      -> upstream/4.5.0
 * [new branch]      4.5.1      -> upstream/4.5.1
 * [new branch]      4.5.2      -> upstream/4.5.2
 * [new branch]      d4test     -> upstream/d4test
 * [new branch]      d4test0    -> upstream/d4test0
 * [new branch]      d4test1    -> upstream/d4test1
 * [new branch]      http43     -> upstream/http43
 * [new branch]      opuls      -> upstream/opuls
 * [new branch]      target-4.3.21 -> upstream/target-4.3.21
 * [new branch]      target-4.3.22 -> upstream/target-4.3.22
 * [new branch]      target-4.3.23 -> upstream/target-4.3.23
 * [new branch]      target-4.4.0 -> upstream/target-4.4.0
 * [new branch]      target-4.4.2 -> upstream/target-4.4.2
 * [new branch]      target-4.4.3 -> upstream/target-4.4.3
 * [new branch]      test3      -> upstream/test3
 * [new branch]      test_framework -> upstream/test_framework
 * [new branch]      try-gradleInitForMaven -> upstream/try-gradleInitForMaven
 * [new branch]      x452       -> upstream/x452
From https://github.com/Unidata/thredds
 * [new tag]         thredds-4.3.10 -> thredds-4.3.10
 * [new tag]         v4.3.11    -> v4.3.11
 * [new tag]         v4.3.12    -> v4.3.12
 * [new tag]         v4.3.13    -> v4.3.13
 * [new tag]         v4.3.14    -> v4.3.14
 * [new tag]         v4.3.15    -> v4.3.15
 * [new tag]         v4.3.16    -> v4.3.16
 * [new tag]         v4.3.17    -> v4.3.17
 * [new tag]         v4.3.18    -> v4.3.18
 * [new tag]         v4.3.19    -> v4.3.19
 * [new tag]         v4.3.20    -> v4.3.20
 * [new tag]         v4.3.22    -> v4.3.22
 * [new tag]         v4.3.8-BETA -> v4.3.8-BETA
 * [new tag]         v4.3.9.alpha1 -> v4.3.9.alpha1
 * [new tag]         v4.4.0     -> v4.4.0
 * [new tag]         v4.4.1     -> v4.4.1
 * [new tag]         v4.4.2     -> v4.4.2
 * [new tag]         v4.5.0     -> v4.5.0
 * [new tag]         v4.5.1     -> v4.5.1

我知道我的本地文件夹中有4.3.15,我想将其更新到4.3最后版本,然后将更改提交到github而不更改原始文件。也许,我必须从我的本地项目创建一个fork或者其他东西,但我不知道如何正确更新它并将更改提交到我自己的版本。

问候

1 个答案:

答案 0 :(得分:1)

我会按照以下步骤进行:

1)将v4.3.15分支签出到单独的目录

2)运行差异检查以检查签出版本与您自己的版本之间的差异。

3)将您的更改应用于签出的分支。

4)在本地提交您的更改。现在您有一个提交,其中包含您对4.3.15版本所做的更改)

5)将您的提交重新基于您感兴趣的最新版本(我认为它是4.3.23)。

6)解决您可能遇到的任何冲突。

7)在本地提交您的更改。

8)将您的更改推送到GitHub。