Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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 - Fatal编程技术网

关于如何git提交到基于其他分支的新分支的工作流

关于如何git提交到基于其他分支的新分支的工作流,git,Git,我的设想: 我在一家分店工作 对那个地方分支机构有一些承诺 在我的工作文件夹中有更改 现在我发现了一个小错误或输入错误 我想加入一个(新的)分支机构 该新分支不应基于当前分支,而应基于例如“主分支” 不应签出该新分支,我想留在当前分支并继续 我当前的工作流使用的是tortoise git,提交到一个新分支,然后通过删除除最后一个分支外的所有提交,重新设置该分支的基础,然后再次签出我的“当前”分支 电流 git branch my-typo-fix master git checkout

我的设想:

  • 我在一家分店工作
  • 对那个地方分支机构有一些承诺
  • 在我的工作文件夹中有更改
现在我发现了一个小错误或输入错误

  • 我想加入一个(新的)分支机构
  • 该新分支不应基于当前分支,而应基于例如“主分支”
  • 不应签出该新分支,我想留在当前分支并继续
我当前的工作流使用的是tortoise git,提交到一个新分支,然后通过删除除最后一个分支外的所有提交,重新设置该分支的基础,然后再次签出我的“当前”分支

电流

git branch my-typo-fix master
git checkout my-typo-fox
git add myfile
git commit -m "Typo in my file"
git checkout my-current-branch
当挂起的更改发生冲突时,这并不总是有效的,这也不是我想要提交到修复分支上的内容。而且这也不是很有效

这个工作流程可以改进吗?或者我完全错了

更新 根据Mykhailo的评论稍微改进了工作流

git checkout -b my-typo-fix master
git add myfile
git commit -m "Typo in my file"
git checkout my-current-branch
这个工作流程可以改进吗

git-stash
就是为了这个:

git stash
git checkout master
git checkout -b my-typo-fix
# make change
git add ...
git commit ...
git checkout my-current-branch
git stash pop
该新分支不应签出,我想留在当前分支

然后,您必须将存储库克隆到另一个工作目录中,并在那里进行修复
git commit
根据定义始终在当前签出的分支上工作。但给定方法的最终结果是相同的

这个工作流程可以改进吗

git-stash
就是为了这个:

git stash
git checkout master
git checkout -b my-typo-fix
# make change
git add ...
git commit ...
git checkout my-current-branch
git stash pop
该新分支不应签出,我想留在当前分支


然后,您必须将存储库克隆到另一个工作目录中,并在那里进行修复
git commit
根据定义始终在当前签出的分支上工作。但给定方法的最终结果是相同的。

首先,您可以将

git branch my-typo-fix master
git checkout my-typo-fix

根据,

指定-b将导致创建一个新分支,就像git branch一样 我们打了电话,然后退房了


此外,您可以使用
git stash
()临时隐藏工作副本中的更改(切换到修复分支之前),并在切换回分支后使用
git stash pop
重新应用这些更改。这将有助于避免签出过程中的冲突。

首先,您可以合并

git branch my-typo-fix master
git checkout my-typo-fix

根据,

指定-b将导致创建一个新分支,就像git branch一样 我们打了电话,然后退房了


此外,您可以使用
git stash
()临时隐藏工作副本中的更改(切换到修复分支之前),并在切换回分支后使用
git stash pop
重新应用这些更改。这将有助于避免签出期间发生冲突。

我不知道您可以将源分支添加到
git checkout
我不知道您可以将源分支添加到
git checkout
使用隐藏将导致我所做的更改从工作文件夹中消失,对吗?是,当你弹出时,它们会回来。使用隐藏将导致我所做的更改从工作文件夹中消失,对吗?是的,当你弹出时它们会回来。