Git最佳实践:如何经常在分支之间切换并避免多次提交?
我正在开发一个验证软件。 我继续使用主分支代码,它总是准备好启动测试。 因此,我在其他分支(devforex)中开发了新特性。 这是经典的git工作流 我担心的是,我每天需要在master和dev之间切换10次,因为设计师让我检查他们的更新 目前我只知道一种方法:Git最佳实践:如何经常在分支之间切换并避免多次提交?,git,branch,Git,Branch,我正在开发一个验证软件。 我继续使用主分支代码,它总是准备好启动测试。 因此,我在其他分支(devforex)中开发了新特性。 这是经典的git工作流 我担心的是,我每天需要在master和dev之间切换10次,因为设计师让我检查他们的更新 目前我只知道一种方法: 用消息“需要回归”提交我在dev上的工作 切换到主分支 运行回归并给出反馈 重新打开dev并继续工作 这很烦人,因为在dev分支上创建了无用的历史记录 是否有另一种简单的方法(我是初学者)来避免开发分支上的多次提交 谢谢你的帮助 在切
谢谢你的帮助 在切换分支之前,请执行以下操作。这将以一种易于恢复的方式记录您正在进行的工作的当前状态。当您切换回dev分支时,执行git stash pop。这将重新应用这些更改,并删除隐藏内容,使其不会保留在您的历史记录中。我认为
git-stash
是您所需要的。有关于它的帮助。git clone
您的主存储库,并从那里运行回归测试。
记住运行
git pull
来检索更新。永远不要提交到克隆的存储库(或者准备尽快将其合并回主存储库)。这里有几条好建议。我的第一个想法是有两个克隆,一个在dev上,一个在master上。只需更改目录(类似于Hydroneaud所说的)
如果您只想运行回归,另一种方法是使用git archive获取快照并使用它进行测试。转到空目录并执行以下操作:
git --git-dir=/my/dev/clone/.git archive master | tar xvf -
然后构建和测试。当然,将其放在脚本中是有意义的。如果您不想隐藏(这是正确的解决方案),或者如果您意外提交,您有两种选择,要么
git reset HEAD^
这样提交不会被计算,更改不会丢失,要么在完成工作后,git commit——修改
,这样您就可以在不创建新提交的情况下添加提交,并且您还可以更改提交消息。一开始这是我的想法。当dev分支上的下一个功能准备就绪时,尝试更新所需的提交回归。但我确信有更好的办法。谢谢你的提交技巧。我以为--ammend
只用于文本!现在我知道了一点更有力的…谢谢你的解释。我使用隐藏
而不是克隆
,因为出于某些原因,在我的环境中复制文件夹并不是那么简单。克隆
似乎也是一种好方法。很高兴知道这个解决方案。不幸的是,使用这个解决方案对我来说并不容易。谢谢如果我说这是一种不使用clone
命令克隆主分支的方法,我是否理解正确?谢谢链接。这将是有益的!