这真的很傻,我昨天在branch_A上向master发出了pull请求。许多文件被更改了,我不想再添加更多的文件。我从分支a切换到分支b。我添加了我想提交的文件,并从branch_B推送。
在Github上,如果我想合并这个提交到master,它会显示我在一个单独的分支上做的pr和这个新提交都在一起。我不想把这个提交推到我以前的拉请求。我想既然我在一个新的分支上,它就会创建一个新的pull请求。
我应该删除提交并尝试不同的方式吗?我应该合并提交和pr吗?我应该按原样提交拉取请求吗?我应该尝试把这个提交推到Branch_A而不是master吗?有许多问题。
下面是cli的步骤:
- git branch -vv (master,branch _a) git checkout -b branch_Bgit add .
- git commit -m"something cool">
任何帮助将是伟大的!
从branch_A切换到branch_B
创建branch_B
,同时检出branch_A
,导致branch_B
基于branch_A
:
树1
branch_B // <- subsequent commits to branch_B
|
branch_A // <- commits to branch_A
|
|
master
我不想把这个提交推送到我之前的拉取请求。
如果我没理解错的话,你宁愿这样做:
树2
branch_B // <- commits to branch_B
|
| branch_A // <- commits to branch_A
| /
|
master
这里对branch_B
的提交应用于master
,不包括对branch_A
的更改。
要从树1到树2你需要做一个rebase*:
$ git checkout branch_B
$ git rebase master
$ git push -f # WARNING: this command will re-write the git history for this branch.
# If other's use this git repo, especially if they have checked out `branch_B` locally, they should be consulted first.
*使用rebase命令,您可以获取在一个分支上提交的所有更改,并在另一个分支上重播它们。