我有一个本地存储库,我想将其快进到特定提交(可能不是远程存储库的 HEAD)。
所以我这样做:
git fetch master
git checkout sha
Run Code Online (Sandbox Code Playgroud)
然而,这使我处于分离的 HEAD 状态,这是我不想要的。是否有相当于git checkout -b branch_name sha, 当branch_name 已经存在时起作用?
简而言之,我必须将本地存储库的 HEAD 更新为远程提交。我已经尝试过git pull origin sha但没有成功。我无法使用git pull origin master,因为它将快进到远程的 HEAD,而我想快进到特定的提交。
如果要合并到特定提交,请获取所有远程更改并指定此提交的 id:
git fetch origin
git merge <sha1 of commit you want to merge>
Run Code Online (Sandbox Code Playgroud)
您可以指定该--ff-only选项,并让 Git 在无法快进时失败(并且会创建新的合并提交)。
如果您只想在当前分支的提示之上放置一个提交,请使用cherry-pick(但通常不推荐这样做):
git cherry-pick <sha1 of commit you want to merge>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9926 次 |
| 最近记录: |