Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git重基流_Git_Version Control_Workflow - Fatal编程技术网

Git重基流

Git重基流,git,version-control,workflow,Git,Version Control,Workflow,我是git的新手,我想开始“正确地”做事。我很喜欢这个流程: git checkout -b featurebranch git commit -m "some changes" // manytimes * git pull // update master to origin's head git checkout featurebranch git rebase master // rebase my feature branch git checkout master git merge

我是git的新手,我想开始“正确地”做事。我很喜欢这个流程:

git checkout -b featurebranch
git commit -m "some changes" // manytimes
*
git pull // update master to origin's head
git checkout featurebranch
git rebase master // rebase my feature branch
git checkout master
git merge featurebranch --no-ff // keep branch and merge to master
但我遇到的问题是,我希望
更改推到
*
所在的某个地方,这会给完成我的
功能分支
带来一些麻烦。简单地说,我不能推重定基础的分支,因为“它在后面…”。删除远程<代码>原产地/特征分支<代码>或代码> git推-f>代码>我认为是解决方案。我对git的理解是否有问题

我想:

  • 避免史诗般的合并
  • 避免分支地狱(*)
  • 避免快进(请参阅按分支进行的提交)
  • 备份/共享我的本地分支机构(*)

我可以通过忘记其中一个来解决这个问题。有必要吗?

重新设置已发布提交的基础。简言之,当您重新设置基础时,您将创建具有不同ID(哈希)的全新提交对象

如果您希望在工作时发布要素分支,则最好在完成后将其合并,而不是重定基址