假设我正在使用一个开源项目,为了时刻保持根官方github保持同步,我用git clone项目到本地并进行二次开发,我的大部分二次开发是不会和官方的核心文件产生冲突的,但是个别文件还是会冲突。。
比如经过一段时间我本机做了一些修改,这是官方仓库也做了一些修改,并发布了一个小版本
这时我想更新官方最新 使用 git pull 的时候会提示冲突 那么问题来了
开源项目二次开发 想随时git pull获得最新版本,并保留本机修改的方法是怎样的?
当git pull获取官方最新更新的时候如果冲突
使用 git stash 缓存本机的改动。
然后 git pull 下来官方最新的版本
然后 git stash pop 把本机的改动merge到代码中,手动解决冲突
我简单测试了一下并没发现什么问题,因为我并不需要push代码到官方仓库所以我一般也不会add,但是经历过这次以后,我又做了一些修改,官方又更新了一些东西
使用git pull还是不行 我要本机git add . 一下 然后重复以上stash 步骤来保持更新和合并冲突,
不知道我这么做是否正确,或者有什么更好的做法么?
不用stash吧,先把改动的commit,然后再pull解决冲突就可以了。
其实如果你本地已经进行了提交(git commit),在拉取远程的改动前,并不需要先
git stash
,直接git pull
或者先git fetch
再git merge
就可以了。当然,如果你在拉取之前,本地并没有提交(git commit)的话,你的上述操作也是没有问题的,但是,你也可以先将本地的修改做完然后提交了再拉取(git pull)。
其实,你的
git stash
应用的场合不太合适,git stash
一般用于你在某一分支工作做了一半(还不值得做一次提交或者压根还不想提交)时,你突然想切换到其他分支做一点儿别的事。这时,用git stash
就再合适不过了。