一、基础知识
二、常用手段
1. 复制其他提交到本分支
目的:现有git仓库,该仓库有两个分支a和b,将a分支的最近三个版本提交内容复制 到b分支的提交上。
在 Linux 系统中,你可以按照以下步骤将分支 A 的最近三个版本的提交内容复制到分支 B 的提交上:
-
切换到分支 B:打开终端,并进入你的 Git 仓库所在的目录。然后使用以下命令切换到分支 B:
git checkout b
-
查看分支 A 的最近三个提交:使用以下命令查看分支 A 的最近三个提交的 commit ID:
git log --oneline a -n 3
这将会显示分支 A 的最近三个提交及其对应的 commit ID。
-
将分支 A 的提交复制到分支 B:使用以下命令将分支 A 的最近三个提交复制到分支 B:
git cherry-pick <commit_id_1> <commit_id_2> <commit_id_3>
在上述命令中,将
<commit_id_1>
、<commit_id_2>
和<commit_id_3>
替换为分支 A 最近三个提交的 commit ID。这将会将这三个提交的更改应用到分支 B 上。
请注意,在执行 git cherry-pick
命令之前,确保你已经在分支 B 上,并且已经完成了所有必要的合并和冲突解决。此外,cherry-pick 操作可能会导致提交的 SHA-1 值发生变化,因此在将更改应用到另一个分支之后,你可能需要进行相应的调整和处理。
在进行任何 Git 操作之前,请确保备份重要的代码和数据,以防止意外情况的发生。
注意:当两者基础代码框架不同时,可能cherry-pick不成功,需要手动修改。
2. git show版本,不看具体修改,只看文件名称
你可以使用 --name-only
选项来查看 Git 中某个版本中所修改、添加或删除的文件列表。这个选项会在 Git 显示提交信息和更改内容之前,先显示出所涉及的文件列表。
以下是一个示例:
git show --name-only <commit_id>
其中 <commit_id>
是要查看的提交的 SHA-1 标识符。执行这个命令后,Git 会显示出指定提交所涉及的所有文件名称。
需要注意的是,如果一个提交中修改了多个文件,这个命令会将这些文件名全部列出,每个文件名占一行。
另外,如果想查看某个提交中详细的修改内容,可以使用 git show <commit_id>
命令,这个命令会显示指定提交的详细信息,包括作者、提交时间、提交说明和更改内容等。如果只想查看某个文件的修改历史,可以使用 git log <file_path>
命令来查看。