我想我缺少一些关于 GIT 分支的基本概念。
假设我已经在我的机器上克隆了一个存储库,并开始工作(在本地“master”上)。
现在有人告诉我生产中的一个错误。
我想停止我正在做的一切(修改后的提交和未推送的提交),创建一个基于服务器的功能分支,没有我在本地所做的更改,修复错误,提交并推送,然后返回到 master, rebase 并继续工作。
我认为以下方法可行:
$ git clone <some repo>
$ vim text.txt
$ git checkout -b bugFix
问题是分支“bugFix”包括我在 master 中所做的状态更改。
如何创建干净的分支?
最佳答案
最简洁的方法是将您当前的工作提交到本地功能分支(保持 master 处于可发布状态),然后切换到 master 并在那里(或基于 master 的分支)修复错误。
git checkout -b my-feature
git commit -m "add my feature"
git checkout master
git pull --rebase
git checkout -b bugFix
... do some work ...
git checkout my-feature
如果您还没有准备好(在本地)提交您的工作,您可以使用 stash 来存储您的更改:
git stash
git fetch
git checkout origin/master
git checkout -b bugFix
... do some work ...
git checkout master
git stash pop
关于git - 基于服务器创建一个新的 GIT 分支,无需本地更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15343515/