Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.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_Git Checkout - Fatal编程技术网

添加一个实验特性,然后用Git接受/放弃它的最佳方法是什么?

添加一个实验特性,然后用Git接受/放弃它的最佳方法是什么?,git,git-checkout,Git,Git Checkout,如果我在一个项目的本地主分支上,我想尝试一些东西,或者保留它并继续,或者拒绝它并将代码返回到当前状态,那么使用Git最干净的方法是什么?我会做以下事情吗 签出新分支 做我的改变 如果它们有效,提交并将我的分支推送到master,然后签出到master并继续 如果它们不起作用,只需签回master即可 是的,你几乎就是这么做的 创建并签出一个新分支 git checkout -b experimental-feature 那你想干多久就干多久。 您可以在不接触主分支的情况下提交此分支 git

如果我在一个项目的本地主分支上,我想尝试一些东西,或者保留它并继续,或者拒绝它并将代码返回到当前状态,那么使用Git最干净的方法是什么?我会做以下事情吗

  • 签出新分支
  • 做我的改变
  • 如果它们有效,提交并将我的分支推送到master,然后签出到master并继续
  • 如果它们不起作用,只需签回master即可

    • 是的,你几乎就是这么做的

      创建并签出一个新分支

      git checkout -b experimental-feature
      
      那你想干多久就干多久。 您可以在不接触主分支的情况下提交此分支

      git add .
      git commit -m "did some awesome work!"
      
      如果要保留新功能,即将其添加到主分支,请切换到主分支,合并分支,然后删除分支:

      git checkout master
      git merge experimental-feature
      git branch -d experimental-feature
      
      git checkout master
      git branch -D experimental-feature
      
      或者,如果要放弃实验特征,只需删除分支:

      git checkout master
      git merge experimental-feature
      git branch -d experimental-feature
      
      git checkout master
      git branch -D experimental-feature
      
      注意:最后一个命令中的大写字母D很重要,这样git就可以删除分支而无需合并



      快乐编码

      基本上是的。您可以始终在另一个分支上提交。如果你决定完成,你可以将它合并到master中。@Lux你想把它作为答案吗?@Nico Graf谢谢你的回答。你能确认Schwern的评论吗?是的,需要-D(我编辑了答案)。谢谢你的更正@Schwern