如何撤消提交,放入新分支然后做PR?

时间:2017-07-09 03:14:20

标签: git

我有一个$texto = str_replace("&quot;","\"",$texto); //para comillas $texto = str_replace("&lt;","<",$texto); // para < $texto = str_replace("&gt;",">",$texto); // para > 分支,仅受PR推送保护。

&上轻率地说:

master

但我推到分支机构并被拒绝,因为分支机构受到保护。 我如何回溯,保留我的更改,并做PR?

2 个答案:

答案 0 :(得分:5)

  1. 撤消master分支的最后一次提交。

    $ git reset --soft HEAD~1      # undo the last commit and keep the changes in working tree   
    
  2. 结帐新分支(例如feature),然后添加,提交并推送到远程feature分支。

    $ git checkout -b feature      # create and checkout to new 'feature' branch
    $ git add -A                   # add the changes 
    $ git commit -m 'message'      # commit 
    $ git push origin HEAD         # push to remote 'feature' branch
    
  3. 现在,从feature分支机构创建PR。

    <强>替代:

    1. 结帐新分支(例如feature)并将feature分支推送到远程分支。

      $ git checkout -b feature
      $ git push origin HEAD
      
    2. 切换到master分支并撤消上次提交。

      $ git checkout master
      $ git reset --hard HEAD~1
      
      Or, (reset the local 'master' with 'origin/master')
      $ git checkout master 
      $ git fetch origin
      $ git reset --hard origin/master
      
    3. 现在,从feature分支机构创建PR。

答案 1 :(得分:1)

git reset HEAD~
git checkout -b "name-of-new-branch"
git -am "my fancy new commit"
git push origin "name-of-new-branch"

重置HEAD~将撤消上次提交。 Checkout -b make创建一个新分支并将其检出,然后您只需在那里添加并提交更改并按