在项目分支的切换中,经常需要把一个分支中修改的代码合并到master分支中,正常使用merge命令进行自动合并,但当合并的需求为某个分支的某些文件时,全量合并就不满足要求了,这时可以使用如下命令:
git checkout source_branch <paths>...
支持文件与目录方式,如config/ web/,不要采用/*的方式,存在不识别.gitignore的问题.
步骤
-
切换到需要合并的分支
git checkout master-branch
-
checkout修改的文件
git checkout source_branch config/或xxx.php
- git status可发现这些文件出现在当前分支中,commit提交
二、本地没有远程相同分支,无法git pull,需要新建分支再pull
- git checkout -b serversys 新建分支
- git reset --hard 980e4c18e368851361747b0b979ef3661464f102 退回到与远程相同的一个节点,保证往前的提交都相同
- git pull origin master:serversys 把服务器上的master pull到本地的serversys上
- 在使用上面一中的方法修改部分代码,例如git checkout master packages/apps/Calculator/,把本地的master的部分代码修改到当前本地的serversys中
三、git apply patch文件,打补丁
四、git stash list
git stash save "描述" 保存
git stash apply/pop stash@{num} 恢复暂存,pop会在list中删除记录,注意只能恢复到原来分支,在别的分支恢复会切换分支
Git stash show -p stash{0}可以查看具体修改内容
五、git diff --stat commit_id
只显示修改的文件名不显示内容