Bitbucket - 致力于一个新的分支引起的问题,不知道如何解决
Bitbucket - Commiting to a new Branch caused issue, not sure how to fix
这是导致此问题的操作顺序。
- 从 Master 创建的分支,分支名称 v1
- 对这个新分支所做的更改并推送
- 我拉了这个分支(推送后)并做了一些修改
- 另一个用户做了一些更改并推送(在我之前)
- 决定在那个分支上创建一个分支,v1_adminui
- 发送一个
git fetch
获取新的Branch并发出一个git checkout v1_adminui
git checkout v1_adminui
抱怨我需要先提交,因为 v1_adminui 编辑了一些我正在处理的文件
- 我发布了
git add --all
和 git commit -a -m "Changes to Admin UI"
然后发布了 git checkout v1_adminui
- 现在我在 v1_adminui 但我没有我的管理员 ui 提交更改
如何让我的管理员 ui 更改为 v1_adminui?看起来 commit
发生在 v1 上,所以现在我被卡住了......请提供任何帮助。
请注意,我无法推送该提交,需要在合并前先对其进行审核。
这应该是一个相当简单的修复。首先,查看 git cherry-pick
here 的文档。然后,当您了解它在做什么时,请执行以下操作:
首先,删除您的本地 v1_adminui
分支,因为此时它与您的 v1
分支完全相同。
git checkout v1
git branch -D v1_adminui
接下来,在添加所有 adminui 内容之前检查提交
git checkout HEAD~1
现在,从该提交创建一个 "new" v1_adminui
分支
git checkout -b v1_adminui
接下来,从 v1
的本地副本中获取您想要的提交(假设提交位于 v1
分支之上。
git cherry-pick --no-commit v1
现在,您的索引看起来就像您已在 v1_adminui
分支上进行了所有 adminui 更改,但尚未提交。提交这些更改:
git add -A
git commit -m "<some-message-here>"
现在,您的 v1_adminui
分支将拥有您想要的所有更改。
最后,如果您不希望您的 v1
分支有这些更改,请返回到它
git checkout v1
并重置它们(这假设您只做了一个您不再想要的提交。
git reset --hard HEAD~1
确保你小心 reset --hard
(查看文档 here)
这是导致此问题的操作顺序。
- 从 Master 创建的分支,分支名称 v1
- 对这个新分支所做的更改并推送
- 我拉了这个分支(推送后)并做了一些修改
- 另一个用户做了一些更改并推送(在我之前)
- 决定在那个分支上创建一个分支,v1_adminui
- 发送一个
git fetch
获取新的Branch并发出一个git checkout v1_adminui
git checkout v1_adminui
抱怨我需要先提交,因为 v1_adminui 编辑了一些我正在处理的文件- 我发布了
git add --all
和git commit -a -m "Changes to Admin UI"
然后发布了git checkout v1_adminui
- 现在我在 v1_adminui 但我没有我的管理员 ui 提交更改
如何让我的管理员 ui 更改为 v1_adminui?看起来 commit
发生在 v1 上,所以现在我被卡住了......请提供任何帮助。
请注意,我无法推送该提交,需要在合并前先对其进行审核。
这应该是一个相当简单的修复。首先,查看 git cherry-pick
here 的文档。然后,当您了解它在做什么时,请执行以下操作:
首先,删除您的本地 v1_adminui
分支,因为此时它与您的 v1
分支完全相同。
git checkout v1
git branch -D v1_adminui
接下来,在添加所有 adminui 内容之前检查提交
git checkout HEAD~1
现在,从该提交创建一个 "new" v1_adminui
分支
git checkout -b v1_adminui
接下来,从 v1
的本地副本中获取您想要的提交(假设提交位于 v1
分支之上。
git cherry-pick --no-commit v1
现在,您的索引看起来就像您已在 v1_adminui
分支上进行了所有 adminui 更改,但尚未提交。提交这些更改:
git add -A
git commit -m "<some-message-here>"
现在,您的 v1_adminui
分支将拥有您想要的所有更改。
最后,如果您不希望您的 v1
分支有这些更改,请返回到它
git checkout v1
并重置它们(这假设您只做了一个您不再想要的提交。
git reset --hard HEAD~1
确保你小心 reset --hard
(查看文档 here)