例如 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