2

谁能给我一些关于如何使用 Git 的指导,以便我可以进一步阅读手册。现在手册对我来说太复杂了。

我正在使用开源代码,我不是核心开发人员,但我也在开发我所在领域的一些模块。但是核心团队不会接受我的开发。我希望我可以将所有修改和新添加的模块保存在存储库或类似的东西中,我可以在 github 上看到它们。但与此同时,我想继续更新核心开发人员的所有未更改的文件,如果有冲突或文件,我想简单地保留我的。

那么,我应该创建一个新的分支,还是创建一个 fork,还是创建一个新的存储库?

比如我 git clone blahblah 之后,几天后,我 git pull 到 uodate,然后我修改了一个文件-A,并在 B 下添加了一个新的 dir B 和一个文件 C。我现在该怎么办?因为每当我再次 git pull 时,都会出现警告错误,说明某些文件存在冲突。


我的问题的更新:

谢谢,这很有帮助。

如果我错了,请纠正我,我现在需要做的是:

  1. 转到 github,并为原始项目 repo 创建一个分支。这是否意味着我正在我的帐户下创建一个新的回购?

  2. 那么,这个新的 repo 就会有一个 git 链接地址,对吗?

  3. 然后我只是在我的电脑上使用, git clone this_new_git_repo_link 来复制整个项目。

  4. 在我自己的计算机上添加或修改,并学习提交所有更改,

  5. 然后将通过我的新仓库从在线 github 看到这些更改。

  6. 当上游发生变化时,在我自己的计算机上,我创建了一个名为“上游”的新分支??从我自己的 fork repo 复制的原始版本默认称为“master”,

  7. 然后使用命令checkout切换到上游分支,然后执行'git pull',这将在我自己的计算机上创建两个版本,一个是更新版本,另一个是我的修改版本。

  8. 这里的问题是如何将这个更新的分支“上游”合并到我自己的分支“master”中,合并那些我从未更改过的文件的命令是什么。因此,在切换回我自己的“master”分支后,我可以进行提交,所以我的在线仓库将包含上游更新和我自己的修改。

4

2 回答 2

1

origin回复您的更新:您必须在 4 到 5 之间推送到您的 github repo ( )。

upstream7:根据GitHub 指南,您已将远程添加到本地存储库。获取它(git fetch upstream)后,修改位于远程分支中,upstream/master.

大多数情况下,您希望在此分支上重新调整您的更改(即只有git rebase upstream/master所做的更改),使用,或将其合并到您的分支git merge upstream/master

8:一旦你与上游重新定位(或合并),继续照常工作:提交,推送。更改将在您推送时发布,并将发生在与上游同步的版本上。

于 2012-04-25T19:03:00.803 回答
1

如果您和其他开发人员正在使用 github,那么我会分叉主 repo 并将其设置为上游。然后,您可以在自己的 master 分支中工作,并随心所欲地推送和拉取自己的工作。如果上游分支发生变化并且您想拉入更改,您可以考虑创建一个新分支以轻松标记您所在的位置(您以后可以随时删除此分支),然后切换回主分支,然后拉入上游更改您的主分支。你可能会遇到合并冲突,但 git 会在你的 master 分支的文件中标记这些冲突。如果您不喜欢核心开发人员的更改,您可以删除他们添加的所有或部分冲突代码,然后继续正常工作。

您可以无限期地重复此循环,以便您与核心保持相对更新。

于 2012-04-25T17:35:33.967 回答