从 Git 仓库中提取特定提交
Ashok Chapagai
2023年1月30日
2022年4月22日
有时你可能希望将特定提交从远程仓库拉到本地仓库,并且有几种方法可以实现。下面,你可以找到几种从 Git 仓库中提取特定提交的方法。
使用 git fetch
获取更改然后使用提交哈希合并
使用它,你可以从远程仓库中获取更改,然后找到要合并到本地代码库的提交哈希。你可以参考以下步骤:
-
获取 repo 的最新变化
``bash
git fetch remote <branch_name>`git fetch` 命令从指定的 `<branch_name>` 中获取变化。
-
查看 Git 日志以抓取合并的提交哈希值
git log
上述命令列出了所有的提交,如提交哈希值、提交作者、提交日期和提交信息。
你可以用--oneline
标志git log --oneline
,在一行中获取所有的提交和它们各自的哈希值。 -
使用提交哈希合并所需的提交
``bash
git merge <commit_hash最后,你想合并的提交可以通过 `git merge'命令使用提交散列来完成。
使用上述方法,直到合并提交的所有提交也被合并。但是,要合并来自单个提交的更改,你可以使用 git cherry-pick
作为:
git cherry-pick <commit_hash>
将特定提交的代码拉取到新分支
如果你想从提交中提取更改并签出到新分支,你可以使用单个命令来实现。
git checkout -b <new_branch_name> <commit_hash>
我们可以使用上面提到的 git log
命令检索提交哈希。
将 git pull
与提交哈希一起使用
此步骤类似于第一种方法中提到的直到第二步。完成上述操作后,第二步(运行 git fetch
和 git log
以查看提交哈希后)。
git pull origin <commit_hash>
使用上述命令,你可以从提到的提交的哈希中提取所有更改。
在这里,git pull
结合了 git fetch
和 git merge
。
Author: Ashok Chapagai