我想把我已经承诺掌握的最后几个提交移动到一个新的分支,然后在完成这些提交之前把主人带回去.不幸的是,我的Git-fu还不够强大,有什么帮助吗?
即我怎么能从这里走出来
master A - B - C - D - E
Run Code Online (Sandbox Code Playgroud)
这个?
newbranch C - D - E
/
master A - B
Run Code Online (Sandbox Code Playgroud) 通过 git,我进行了一些更改,现在希望将它们放在一个新分支中。如何实现这一点在几个地方都有解释,例如这里
我的困惑更多地与此任务的本地/远程方面有关。
我首先将 github 上的存储库分叉到 myForkOnGitHubRepo。然后我将该存储库克隆到我的本地 PC:
local: git clone myForkOnGitHubRepo
Run Code Online (Sandbox Code Playgroud)
然后我更改了源,提交并推送:
local: git add .
local: git commit
local: git push # (actually I used the minGW Gui for that one since the command line push issued a warning)
Run Code Online (Sandbox Code Playgroud)
现在我的本地更改在 myForkOnGitHubRepo 中可见。美好的。现在我注意到我更愿意使用一个新分支(并且也在 myForkOnGitHubRepo 的新分支中进行更改)。
我可以按照我在开头发布的链接中的说明进行操作吗?
local: git branch newbranch
local: git reset --hard HEAD~1 # only one commit was done
Run Code Online (Sandbox Code Playgroud)
然后——好吧,现在怎么办?我只需要再推一次吗?或者我需要明确地推送新分支吗?(抱歉,如果这是非常基本的,我以前从未使用过它)。
在创建新分支之前我还需要做什么吗?我的理解是,推送后,本地和远程的状态是一样的,对吗?