如何在我的dev-git分支中跟踪origin/master



我是git新手,我想知道如何处理一个非常基本的场景。我在stackoverflow上读了很多关于git的帖子,但仍然无法找到答案。

我们有一个每个人都在处理的原始/主远程分支。我有一个功能a想要实现,可能需要时间来开发。同时,人们可能正在将代码签入源代码/主代码。

考虑到以下需求,我的工作流程会是什么样子,我应该如何建立我的git分支机构:

  1. 我希望能够将代码更改提交到我的分支,并将它们推送到我们服务器上的远程分支,这样我就不会丢失更改,以防我的计算机被炸了

  2. 我想让我的分支与主分支保持同步

  3. 我想尽量减少常规合并。我喜欢git-rebase的概念,所以我想最大限度地利用它,从而实现快速合并

  4. 在某个时刻,我们将不得不将我的分支FeatureA合并到origin/master中

总结:

如何设置从原点/主节点拉动但推到原点/MY-branch的分支?

我的工作流程会是什么样子?

更新:

谢谢你@will pragnell!您的解决方案与以下解决方案之间的区别是什么。

github上的这个页面建议:

https://github.com/diaspora/diaspora/wiki/Git-Workflow

为了从开发干线获得最新更新,请一次性设置,通过输入:将主GitHub回购建立为远程

$ git remote add upstream git://github.com/diaspora/diaspora.git
$ git fetch upstream
$ git checkout master
$ git rebase upstream/master
$ git checkout 100-retweet-bugfix

[确保在分支机构中根据需要提交所有内容]

$ git rebase master

您可能不想要一个从master拉取并推送到您自己的分支的分支。您想要的是从master上拉到本地master上,在本地处理重新定基,然后推送到您自己的远程分支以获得该功能。这是一个相当标准的工作流程,为您提供了完全的控制和最少的合并。就我个人而言,我会这样做:

创建一个新的本地分支

git checkout -b myFeature

将其推送到一个新的远程分支(如果你需要更多关于这一步骤的信息,请参阅这个stackoverflow问题)

git push origin myFeature

现在,您可以愉快地处理myFeature分支,在需要时使用上面的命令进行推送,而不会弄乱主分支。当你需要获得其他人在master上完成的提交时,你可以这样做:

git checkout master
git pull (this will just fast-forward if you don't make any local changes to master)
git checkout myFeature
git rebase master

当你的功能完成后,你可以将你的分支合并或重新设置为master,这样其他人都可以获得你的新功能。像这样:

git checkout master
git merge myFeature
git push origin master

git checkout -b FeatureA(创建并签出分支)
git push origin FeatureA(将您新创建的分支推送到原点)

制作新的分支功能A。你不想频繁合并然后重新调整的基础

git rebase origin  

将来,只要您想合并到master中。

git checkout master  
git merge FeatureA  
git push origin master  

相关内容

  • 没有找到相关文章

最新更新