Git 如何管理可以';我们不能向上游推进吗?
我在做一个开源项目。现在我完成了一些与公司业务相关的补丁,我无法将这些补丁推到上游 因此,我必须在本地git存储库中保留这些补丁。我必须从上游提取新补丁,并解决与我的补丁的冲突 谁有我类似的经验,如何轻松地使用它 更新:Git 如何管理可以';我们不能向上游推进吗?,git,open-source,linux-kernel,kernel,patch,Git,Open Source,Linux Kernel,Kernel,Patch,我在做一个开源项目。现在我完成了一些与公司业务相关的补丁,我无法将这些补丁推到上游 因此,我必须在本地git存储库中保留这些补丁。我必须从上游提取新补丁,并解决与我的补丁的冲突 谁有我类似的经验,如何轻松地使用它 更新: 就像我有几个补丁不能被Linux内核接受一样,因为这些补丁对内核不友好。我必须每天构建内核,我不想每天手工打字。是否有任何工具可以帮助我?在对项目进行更改之前,请先执行此操作- 1. create a branch 2. Change to that branch fo
就像我有几个补丁不能被Linux内核接受一样,因为这些补丁对内核不友好。我必须每天构建内核,我不想每天手工打字。是否有任何工具可以帮助我?在对项目进行更改之前,请先执行此操作-
1. create a branch
2. Change to that branch for any changes you make
3. To pull the new patches from the upstream revert back to the master branch and then git pull.
创建分支和更改的命令如下所示
1. $ git branch <branch name> // To create a new branch
2. $ git checkout <branch name> // To change to the branch
3. $ git checkout master // To change to the master branch
1.$git branch//创建新分支
2. $ git checkout//更改为分支
3. $ git checkout master//更改为master分支
我在做一个开源项目。现在我完成了一些与公司业务相关的补丁,我无法将这些补丁推到上游
如果你正在用Git合作一个项目,特别是如果它是开源的,人们可能不会让你把你想要的东西推到上游回购。您可能希望在请求中提交更改,或者通过电子邮件将修补程序发送给某个项目经理
您可以从以下章节中阅读更多关于在Git中与其他人协作的信息:
如果您感兴趣,也可以阅读。我有点惊讶,到目前为止的答案似乎没有考虑到两件事:
您可以使用您最喜欢的文本编辑器,但实际上,在这种情况下使用三向合并工具非常方便。是Linux上的一个这样的工具,但我相信还有很多。这里是一个可能的工作流程 初始设置
git clone --origin 'upstream' http://example.com/project.git
cd project
git checkout master
git checkout -b patched
# make changes
git add --all
git commit -m 'internal patches'
新的上游变更
git checkout master
git pull upstream
git checkout patched
git rebase master
参考文献: