我有一个git repo来存储我的“点文件”,我有一个在公司计算机中使用的分支,另一个在我的个人计算机中使用的分支。
我经常在工作中创建有用的功能和别名,这些功能和别名我想在个人计算机上使用。但是,我只想复制这些函数,同时避免复制某些环境变量。或者有时我可能只需要调整功能,因为我在工作和在家中使用不同的文件夹结构。
要了解我想要的内容,如果我使用的是SVN(并且假设每个分支有一个文件夹),则只需比较两个分支文件夹(例如,使用Meld),然后在两个之间手动复制内容文件的两个版本(每个分支一个)。
我的问题是:我可以用git做到这一点吗? merge
和cherry-pick
都不适合我想要的目的。
谢谢。
答案 0 :(得分:0)
以下命令将在diff工具中并排显示差异文件中的一个文件,然后您可以根据需要进行比较和编辑。
git checkout you_personal_branch
git difftool your_work_branch..you_personal_branch -- path_to_file_you_want_to_edit
您个人分支的文件将显示在diff工具的右侧面板上,该文件位于您当前的工作目录中,因此您可以对其进行编辑。
关于如何使“ git difftool”启动融合,您可以看到Setting up and using Meld as your git difftool and mergetool
答案 1 :(得分:0)
要将特定文件从一个分支复制到另一个分支,而不是merging
和cherry-pick
整个提交,可以执行以下命令:
git checkout <branch_name> <file_name_1> <file_name_2>
这将有助于将文件从另一个分支复制到当前分支