GIT複製別人本地端的branch - Linux

Table of Contents

※ 引述《kalecgos0616 (.)》之銘言:
: 就是有兩位開發發者tim和jack在改master這個branch,
: jack將master改到一半但還沒push到遠端master上的修改先commmit到local_branch
: 但是下線時他又切換回master這branch去
: tim想看他local_branch改到一半的結果是什麼這樣

這樣就懂了, 早說嘛 orz

最簡單的方法, 你叫 Jack 把 local_branch push 上去不就得了
或者既然 Tim 看來似乎有 SSH 進 Jack 電腦與查看他家目錄的權限
那麼他可以把 Jack 的 repository 直接當成一個 remote

<在 Tim 本機>

$ git remote add jack ssh://jack.s.ip:/home/jack/repo
$ git fetch jack
$ git checkout -b local_branch jack/local_branch

再來如果 Tim 是想抓 snapshot, 不想一直 SSH 進去 Jack 的機器
那麼他可以在 Jack 的電腦做出 local_branch 和 master 的 diff, 回來自己 patch

<在 Jack 的機器>

$ git diff master local_branch > local_branch.diff

<在 Tim 本機, 假設已經把 local_branch.diff 抓回來了>

$ git checkout -b local_branch master
$ git apply local_branch.diff
$ git commmit -am "Apply patch from Jack's local_branch"

如果你想 fancy 一點, 也可以查查 git format-patch 和 git am 的文件
有很多好像很厲害的花招可以搞

--

All Comments