如何跟踪我的开发git分支中的origin / master

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

我们有一个每个人都在从事的起源/主远程分支。 我有一个我想实现的功能,可能需要时间来开发。 同时,人们可能正在检查源代码/主人的代码。

考虑到以下需求,我的工作流程将如何?我应该如何设置我的git分支:

  • 我希望能够将代码更改提交给我的分支,并将它们推送到我们服务器上的远程分支,所以我不会在计算机被炸时改变这些更改。

  • 我想让我的分支与主分支保持同步。

  • 我想尽量减少定期合并。 我喜欢git rebase的概念,所以我想最大限度地利用它,因此快速合并。

  • 在某些时候,我们将不得不将我的分支FeatureA合并到origin / master中。

  • 总结:

    我如何设置一个从原点/主点拉出,但推到原点/ MY-BRANCH的分支?

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

    更新:

    谢谢@ will-pragnell! 您的解决方案和以下内容有什么区别?

    github上的这个页面建议:

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

    为了从开发中获得最新的更新,请执行一次性设置,通过输入以下内容来将主GitHub repo建立为远程:

    $ 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
    

    你可能不希望有一个分支从大师那里拉出来,并推到你自己的分支。 你想要的是从主人拉到你的本地主人,在本地处理重新绑定,然后推送到你自己的远程分支的功能。 这是一个相当标准的工作流程,为您提供完整的控制和最少量的合并。 我个人会这样做:

    创建一个新的本地分支

    git checkout -b myFeature
    

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

    git push origin myFeature
    

    现在,您可以在myFeature分支上轻松工作,在需要时使用上述命令,而不必搞乱主分支。 当你需要掌握其他人对主人完成的提交时,你可以这样做:

    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
    

    当您的功能完成后,您可以将分支合并或重新绑定到主设备,以便其他人获得您的新功能。 喜欢这个:

    git checkout master
    git merge myFeature
    git push origin master
    

    git checkout -b FeatureA (创建和结帐分支)
    git push origin FeatureA (将新创建的分支推送到原点)

    在新分支FeatureA上工作。 你不想经常合并,然后重新分配

    git rebase origin  
    

    将来每当你想融入主人时。

    git checkout master  
    git merge FeatureA  
    git push origin master  
    
    链接地址: http://www.djcxy.com/p/4605.html

    上一篇: How to keep track of origin/master in my dev git branch

    下一篇: upload files to a branch in github