比如 branch master 和 branch dev,同时有一个文件 file.ext,我在 branch dev 上更新(commit & push)了这个文件,请问如何在更新的同事更新 branch master 上的文件呢?
人生最曼妙的风景,竟是内心的淡定与从容!
我给出的解决办法,不是自动的,需要手动操作,应该没法自动更新单个文件1: 首先切换到 master 分支:
git checkout master
2: 把分支dev上的 file.ext 文件取出
git checkout dev -- file.ext
3: 然后把 file.ext 提交到 master上分支
git add file.ext git commit -m 'update file.ext from dev'
以上就是全部过程
切换到master分支,然后merge dev ,push就有了
如果这次提交只包含了这一个需要的文件,那同事那边直接用 master 去 pull origin dev 就好了呀
如果 origin 上面有多个提交,同事的 master 只需要其中的一个,那么同事那边先在 dev 去 pull origin dev,然后回到 master 去 cherrypick dev 上需要的 commit(s)
如果这个目标文件混在某个提交中(也就是说提交里不止这一个变化,但是同事的 master 只需要这一个文件),那就像 @brucemj 所说,手动去 checkout
有个办法. 先把你要更新的内容push出去. 然后切换分支然后右键replace width选择branch,tag,or reference选择你刚刚提交的分支内容. 就ok了
我这是eclipse .git插件
git cherry-pick commit-id
我给出的解决办法,不是自动的,需要手动操作,应该没法自动更新单个文件
1: 首先切换到 master 分支:
2: 把分支dev上的 file.ext 文件取出
3: 然后把 file.ext 提交到 master上分支
以上就是全部过程
切换到master分支,然后merge dev ,push就有了
如果这次提交只包含了这一个需要的文件,那同事那边直接用 master 去 pull origin dev 就好了呀
如果 origin 上面有多个提交,同事的 master 只需要其中的一个,那么同事那边先在 dev 去 pull origin dev,然后回到 master 去 cherrypick dev 上需要的 commit(s)
如果这个目标文件混在某个提交中(也就是说提交里不止这一个变化,但是同事的 master 只需要这一个文件),那就像 @brucemj 所说,手动去 checkout
有个办法. 先把你要更新的内容push出去. 然后切换分支然后右键replace width选择branch,tag,or reference选择你刚刚提交的分支内容. 就ok了
我这是eclipse .git插件
git checkout master
git cherry-pick commit-id