GitHub 用命令行合并 Fork 的仓库
有时候,我们会在 GitHub 上从别人的仓库 Fork 一个项目到自己的仓库里,修改部分代码,以供自己使用。除了修改的部分,如果别人仓库的代码有更新,我们也希望能及时同步。GitHub 本身提供了自动同步的机制,但如果代码有冲突,此时只能通过命令行手动合并了。
假设别人的仓库地址是 git@github.com:[user]/[repo].git
,你需要把这里的 [user]
和 [repo]
分别替换成对方仓库的用户名和仓库名。在本地,cd
到仓库目录中后,先检出一个分支并测试更改:
1 |
|
记得替换 [user]
和 [repo]
。如果代码有冲突,就手动修改冲突的代码,以解决冲突。通过文本编辑器(如 vim 等)打开冲突的文件时,通常会看到类似下面的标记:
1 |
|
<<<<<<< HEAD
到=======
之间是你的修改,=======
到>>>>>>> branch_name
之间是其他人的修改。根据需要,手动编辑文件,选择保留哪些修改或者进行修改合并。
此外,如果有些冲突的文件(比如图片),你没法用文本编辑器打开,但想直接使用本地的版本来解决冲突,那么可以使用下面的命令来保留本地版本:
1 |
|
把 <file_path>
替换成你要解决冲突的文件路径。例如:
1 |
|
解决完所有的冲突后,你需要添加所有已解决冲突的文件,并提交更改:
1 |
|
最后,合并修改的部分到主分支,并提交到 GitHub
1 |
|
这样就完成了代码的手动合并操作。
GitHub 用命令行合并 Fork 的仓库
https://aizpy.com/2024/01/15/github-fork-command-line-merge/