这是场景:我从Github派出某个人的存储库并将其克隆到本地目录.我进行了更改,提交并将其推送到我的分叉存储库.然后我将拉取请求发送到原始存储库,但无论出于何种原因它都会被拒绝.原始存储库然后从其他人获得一些提交,使我的分叉版本过时.现在,我如何获得最新版本的原始仓库(到我的分叉仓库和本地)?而且,如何从Github中删除我的拒绝提交的提交历史记录?
永远不要在master分支中进行自己的更改,你应该创建一个新的分支进行更改并推送它.无论如何,如果你想让你的分支等于远程分支:
假设你有上游作为远程git fetch upstream git checkout -f -B master upstream/master
上面的checkout命令将是如果分支主机在那里继续并且如果它不在那里从上游/主机创建它,则用上游/主机覆盖它.
如果您没有将上游添加为远程使用 git remote add upstream repositoryurl
编辑:它应该是-B
编辑:git reset --hard upstream/master实际上更合适
使 GitHub 上的分叉存储库保持同步需要两个步骤。
使您的本地存储库与以下内容保持同步:
git fetch 上游;git 合并上游/master
让 GitHub 上的 fork 与本地存储库保持同步
git推送原点大师
请参阅GitHub Fork A Repo了解一些解释。您需要将“上游”设置为您派生的存储库的远程位置。
对于“被拒绝的提交”,如果您在本地分支上进行了这些操作,那么您只需删除该分支即可。如果它不在本地分支上,那么您需要将分支的 HEAD 重置回您选择的提交。喜欢:
# Assume you are on master and need to go back to commit BeadBabe
git checkout -b temp
git branch -f master BeadBabe
git checkout master
git branch -d temp
Run Code Online (Sandbox Code Playgroud)
走了。
| 归档时间: |
|
| 查看次数: |
1857 次 |
| 最近记录: |