例如有一个项目的master分支下有一个通用类A我建立了一个新的分支dev进行开发(本地存在2个分支,1个是master,1个是dev),第二天master分支的类A代码更新了而我如果拉取dev分支的话,A依然是旧版本的,如果拉取master分支的文件到本地dev的话,本地的master和dev就会显示合并了,请问要如何解决呢?
如果拉取master分支的文件到本地dev的话,本地的master和dev就会显示合并了,请问要如何解决呢?
当然不要把 master 拉取到 dev 了,这样本质上就是 fetch + merge 操作,所以这是必然的。
解决的办法其实有很多,我比较喜欢用 rebase,也就是先 pull master,然后在 rebase,也就是先 pull master,然后在 dev 分支下 rebase master。这样做就等于把 dev 分支重新“落户”在 master 分支的最新节点(即:HEAD)上——当然,这个过程和 merge masterdev
rebase
pull master
rebase master
dev
master
merge master
你可以checkout其他commit中的一个文件
git checkout origin/master -- 那个文件
当然不要把 master 拉取到 dev 了,这样本质上就是 fetch + merge 操作,所以这是必然的。
解决的办法其实有很多,我比较喜欢用
分支下rebase
,也就是先pull master
,然后在rebase
,也就是先pull master
,然后在 dev 分支下rebase master
。这样做就等于把dev
分支重新“落户”在master
分支的最新节点(即:HEAD)上——当然,这个过程和merge master
devrebase master
。这样做就等于把dev
分支重新“落户”在master
分支的最新节点(即:HEAD)上——当然,这个过程和merge master
一样会出现冲突解决(取决于差异的情况),但是它不会合并两个分支。你可以checkout其他commit中的一个文件