搜索

首页  >  问答  >  正文

git - 如何更新不同 branch 中的同一个文件?

比如 branch master 和 branch dev,同时有一个文件 file.ext,我在 branch dev 上更新(commit & push)了这个文件,请问如何在更新的同事更新 branch master 上的文件呢?

黄舟黄舟2805 天前722

全部回复(5)我来回复

  • 我想大声告诉你

    我想大声告诉你2017-05-02 09:25:24

    我给出的解决办法,不是自动的,需要手动操作,应该没法自动更新单个文件
    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'
    

    以上就是全部过程

    回复
    0
  • 仅有的幸福

    仅有的幸福2017-05-02 09:25:24

    切换到master分支,然后merge dev ,push就有了

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-05-02 09:25:24

    如果这次提交只包含了这一个需要的文件,那同事那边直接用 master 去 pull origin dev 就好了呀

    如果 origin 上面有多个提交,同事的 master 只需要其中的一个,那么同事那边先在 dev 去 pull origin dev,然后回到 master 去 cherrypick dev 上需要的 commit(s)

    如果这个目标文件混在某个提交中(也就是说提交里不止这一个变化,但是同事的 master 只需要这一个文件),那就像 @brucemj 所说,手动去 checkout

    回复
    0
  • 阿神

    阿神2017-05-02 09:25:24

    有个办法. 先把你要更新的内容push出去. 然后切换分支然后右键replace width选择branch,tag,or reference选择你刚刚提交的分支内容. 就ok了

    我这是eclipse .git插件

    回复
    0
  • 仅有的幸福

    仅有的幸福2017-05-02 09:25:24

    • git checkout master

    • git cherry-pick commit-id

    回复
    0
  • 取消回复